芦塘秋色
一支两支三四支,杆杆刚直赛竹枝;
两点三点四五点,絮絮芦花浮塘池。
%HungDung5_2
%L系统植物----树
clear;clc;
%%%(一)
L=1;
M=[1 1 2 2 2 3 3 3 ];
s=size(M);d=s(2)+1;
UX=[0 3 5 2 4 7 6 9 1 ];
UY=[0 1 6 3 4 9 5 2 7 ];
US=size(UX);
for U=1:US(2) %画重复图形,其点坐标UX,UY
X0(1)=UX(U);Y0(1)=UY(U);
b0=pi/300;
%
for PK=1:3
X0(1)=UX(U);Y0(1)=UY(U);
E0=8;
for E=1:E0%画一株,E丛
b=E*b0;
X(1)=X0(1);Y(1)=Y0(1);
if E>1;X(1)=XP(3);Y(1)=YP(3);end
for P=1:d%画一丛,P枝;
if P>1;X(1)=X0(2);Y(1)=Y0(2);end
for I=1:s(2) %画一枝,I节
K=M(I);
if K==1
ap=pi/2-P*b/1.0;
X(I+1)=X(I)+L*cos(ap);%b*J/5
Y(I+1)=Y(I)+L*sin(ap);%b*J/5
end
ab=1;ba=1;
if K==2
a=atan((Y(I)-Y(I-1))/(X(I)-X(I-1)));
aP=a-b*P;
X(I+1)=X(I)+ab*L*cos(aP);
Y(I+1)=Y(I)+ba*L*sin(aP);
end
if K==3
KK=1;
N=I-1;
if M(N)==3;KK=KK+2;end;
X(I+1)=X(I-KK);
Y(I+1)=Y(I-KK);
end
end%I
plot(X(1:d),Y(1:d),'y-');hold on;
if P>6 & E>3%==E0
plot(X(1:d),Y(1:d),'W*');hold on;
plot(X(1:d),Y(1:d),'W.');hold on;
end
X0=X;Y0=Y;
if P==PK;XP=X;YP=Y;end
end%P
end%E
end
end
评论