gusucode.com > 《matlab图像处理与界面编程宝典》秦襄培 编著,每章的MATLAB源代码程序 > 第21章/代码21-2.txt

    
p=[0 0;10 10];
n=2;  
line(p(:,1),p(:,2),'Color','k');                           % 画线
A=[cos(pi/6) -sin(pi/6);sin(pi/6) cos(pi/6)];   
for k=1:4
   i=1;   
    for j=1:2:n  
                p1=p(j,:);p2=p(j+1,:);   
        d=(p2-p1)/3;  
                r(i,:)=p1;i=i+1;   
                q1=p1+d;   
                r(i,:)=q1;i=i+1;   
                r(i,:)=q1;i=i+1;   
                q2=q1+d*A'; 
                r(i,:)=q2;i=i+1;   
                r(i,:)=q1;i=i+1;   
                q3=p1+2*d;  
                r(i,:)=q3;i=i+1;   
                r(i,:)=q3;i=i+1;   
                q4=q3+d*A;  
                r(i,:)=q4;i=i+1;   
                r(i,:)=q3;i=i+1;   
                r(i,:)=p2;i=i+1;   
                xy=[q1;q2];  
                line(xy(:,1),xy(:,2),'Color','k');        % 画线
                xy=[q3;q4];  
                line(xy(:,1),xy(:,2),'Color','k');        % 画线
        end   
        p=r;   
    n=5*n;  
end
axis equal                                                % 设置显示比例
axis off                                                  % 不显示坐标轴