您好,欢迎访问三七文档
数学实验实验练习3.1对一个等边三角形,每条边按照Koch曲线的方式进行迭代,产生的分形图称为Koch雪花。实验练习3.2对一条竖向线段,在三分之一点处,向左上方向画一条线段,在其三分之二分点处,向右上方向再画一条线段,线段长度都是原来的三分之一,夹角都为30度。代码3.1Homework1.mfunctionhomework1(d,a)%d为图形基础边长,a为图形阶数A=[cos(pi/3),-sin(pi/3);sin(pi/3),cos(pi/3)];%正负30°旋转因子p=[0,0;[0,0]+[d,0]*A';(0+d),0;0,0];%分形点列矩阵n=3;ifn~=1fors=1:(a-1)j=0;fori=1:n%一直线段新增3点q1=p(i,:);q2=p(i+1,:);d=(q2-q1)/3;j=j+1;r(j,:)=q1;j=j+1;r(j,:)=q1+d;j=j+1;r(j,:)=q1+d+d*A';j=j+1;r(j,:)=q1+2.*d;endclearpp=[r;q2];n=4*n;endendfill(p(:,1),p(:,2),'r')axisequal代码3.2Homework2.mfunctionhomework2(n)%n为图形阶数,一阶是长度为1的竖直直线born=[0;1i];plot(born);%画出主树干holdonzhuan=[exp(1i*pi/6),exp(-1i*pi/6)];%正负30°旋转因子ifn~=1fors=1:(n-1)j=0;b=0;sizeb=size(born);hua=zeros(2,2*3^(s-1));%装要画出的线段构成的矩阵r=zeros(2,3^s);%装成为新生枝的主干的矩阵fora=1:sizeb(2)p1=born(1,a);%分主干的根点p2=born(2,a);%分主干的顶点d=(p2-p1)/3;j=j+1;hua(1,j)=p1+d;%要画出的分支线段装进hua矩阵hua(2,j)=p1+d+d*zhuan(1);b=b+1;r(1,b)=hua(1,j);%要要成为新分主干的线段装进r矩阵r(2,b)=hua(2,j);j=j+1;hua(1,j)=p1+2*d;hua(2,j)=p1+2*d+d*zhuan(2);b=b+1;r(1,b)=hua(1,j);r(2,b)=hua(2,j);b=b+1;r(1,b)=p1+2*d;r(2,b)=p2;endplot(hua);%画出新分支holdonclearhuaborn=r;%装进新的分主干clearrendendaxisequal
本文标题:函数迭代与分形
链接地址:https://www.777doc.com/doc-2641420 .html