MATLAB生成分形树
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1 0.9
0.8
0.7
0.6
0.5
0.4
0.3
0.2
0.1
0 -0.5
-0.4
-0.3
-0.2
-0.1
0
0.1
0.2
0.3
0.4
0.5
分形树
生成方法: 再将F1的每一段都按上述方法修改,直至无穷,则最后得到 的极限图象,称为分形树。
1
0.9
0.8
0.7
0.6
0.5
0.4
0.3
0.2
0.1
0 -0.5
分形树
MATLAB程序: •p=r; %更新节点矩阵 • n=5*n; %更新节点数 •end •axis equal •axis off
分形树
levy曲线
主型:
如图所示,levy曲线的主型是以单位长线段为斜边的等腰直 角三角形去掉斜边后留下的两条直角边且向上凸起。
levy曲线
MATLAB程序: •p=[0 0;10 0];n=2; •A=[cos(pi/4) -sin(pi/4);sin(pi/4) cos(pi/4)]; •for k=1:10 • i=1; • for j=1:2:n • p1=p(j,:);p2=p(j+1,:); • d=(p2-p1)*sqrt(2)/2; • r(i,:)=p1;i=i+1; • q1=p1+d*A'; •
分形树
MATLAB程序: • p1=p(j,:);p2=p(j+1,:);
1
p2
0.9
0.8
0.7
0.6
0.5
0.4
0.3
0.2
0.1
0 -0.5
-0.4
-0.3
-0.2
-0.1
0
p1
0.1
0.2
0.3
0.4
0.5
分形树
MATLAB程序: • • • d=(p2-p1)/3; r(i,:)=p1;i=i+1; %矩阵r的第一行存储点p1 q1=p1+d;
-0.4
-0.3
-0.2
-0.1
0
0.1
0.2
0.3
0.4
0.5
分形树
MATLAB程序:
• p=[0 0;0 10]; n=2; %初始节点为2
•plot(p(:,1),p(:,2), 'k'); •Hold on;%图形保持 •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,:);
分形图形的生成元生成
分形图形的生成元生成
由生成元产生的分形是一种规则分形,是数 学家按照一定规则构造出来的,相当于物理学 的模型。构造特点:最终图形是按照一定规则 R对初始F0不断修改得到的。
分形树
生成方法: 选取一条直线段F0,将该线段三等分,在等分点上各画一 条长度为原线段长度三分之一的线段,并与原线段成固定夹角, 得到图形F1。
1
p2
0.9
0.8
0.7
0.6
0.5
0.4
0.3
q1
0.2
0.1
0 -0.5
-0.4
-0.3
-0.2
-0.1
0
p1
0.1
0.2
0.3
0.4
0.5
分形树
MATLAB程序: • • • r(i,:)=q1;i=i+1; %矩阵r的第二行存储点q1 r(i,:)=q1;i=i+1; %矩阵r的第三行存储点q1 q2=q1+d*A';
1
p2
0.9
0.8
0.7
q2
0.6
q3 q1
0.5
0.4
0.3
0.2
0.1
0 -0.5
-0.4
-0.3
-0.2
-0.1
0
p1
0.1
0.2
0.3
0.4
0.5
分形树
MATLAB程序: • • • r(i,:)=q3;i=i+1; %矩阵r的第六行存储点q3 r(i,:)=q3;i=i+1; %矩阵r的第七行存储点q3 q4=q3+d*A;
1
p2
0.9
0.8
0.7
q2
0.6
0.5
0.4
0.3
q1
0.2
0.1
0 -0.5
-0.4
-0.3
-0.2
-0.1
0
p1
0.1
0.2
0.3
0.4
0.5
分形树
MATLAB程序: • • • • r(i,:)=q2;i=i+1; %矩阵r的第四行存储点q2 r(i,:)=q1;i=i+1; %矩阵r的第五行存储点q1 q3=p1+2*d;
levy曲线
1
p2
q4 q2 q3
0.9
0.8
0.7
0.6
0.5
0.4
0.3
பைடு நூலகம்
q1
0.2
0.1
0 -0.5
-0.4
-0.3
-0.2
-0.1
0
p1
0.1
0.2
0.3
0.4
0.5
分形树
MATLAB程序: • r(i,:)=q4;i=i+1; %矩阵r的第八行存储点q4 • r(i,:)=q3;i=i+1; %矩阵r的第九行存储点q3 • r(i,:)=p2;i=i+1; %矩阵r的第十行存储点p2 • xy=[q1;q2]; • plot(xy(:,1),xy(:,2),‘k’); %联结q1 q2 •Hold on;%图形保持 • xy=[q3;q4]; • plot(xy(:,1),xy(:,2),'k'); %联结q3 q4 •Hold on;%图形保持 • end
levy曲线
MATLAB程序: •r(i,:)=q1;i=i+1; • r(i,:)=q1;i=i+1; • r(i,:)=p2;i=i+1; • end •n=n*2;p=r; •end •for m=1:2:n • plot([p(m,1) p(m+1,1)],[p(m,2) p(m+1,2)],'k'); • hold on; •end •axis equal
0.8
0.7
0.6
0.5
0.4
0.3
0.2
0.1
0 -0.5
-0.4
-0.3
-0.2
-0.1
0
0.1
0.2
0.3
0.4
0.5
分形树
生成方法: 再将F1的每一段都按上述方法修改,直至无穷,则最后得到 的极限图象,称为分形树。
1
0.9
0.8
0.7
0.6
0.5
0.4
0.3
0.2
0.1
0 -0.5
分形树
MATLAB程序: •p=r; %更新节点矩阵 • n=5*n; %更新节点数 •end •axis equal •axis off
分形树
levy曲线
主型:
如图所示,levy曲线的主型是以单位长线段为斜边的等腰直 角三角形去掉斜边后留下的两条直角边且向上凸起。
levy曲线
MATLAB程序: •p=[0 0;10 0];n=2; •A=[cos(pi/4) -sin(pi/4);sin(pi/4) cos(pi/4)]; •for k=1:10 • i=1; • for j=1:2:n • p1=p(j,:);p2=p(j+1,:); • d=(p2-p1)*sqrt(2)/2; • r(i,:)=p1;i=i+1; • q1=p1+d*A'; •
分形树
MATLAB程序: • p1=p(j,:);p2=p(j+1,:);
1
p2
0.9
0.8
0.7
0.6
0.5
0.4
0.3
0.2
0.1
0 -0.5
-0.4
-0.3
-0.2
-0.1
0
p1
0.1
0.2
0.3
0.4
0.5
分形树
MATLAB程序: • • • d=(p2-p1)/3; r(i,:)=p1;i=i+1; %矩阵r的第一行存储点p1 q1=p1+d;
-0.4
-0.3
-0.2
-0.1
0
0.1
0.2
0.3
0.4
0.5
分形树
MATLAB程序:
• p=[0 0;0 10]; n=2; %初始节点为2
•plot(p(:,1),p(:,2), 'k'); •Hold on;%图形保持 •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,:);
分形图形的生成元生成
分形图形的生成元生成
由生成元产生的分形是一种规则分形,是数 学家按照一定规则构造出来的,相当于物理学 的模型。构造特点:最终图形是按照一定规则 R对初始F0不断修改得到的。
分形树
生成方法: 选取一条直线段F0,将该线段三等分,在等分点上各画一 条长度为原线段长度三分之一的线段,并与原线段成固定夹角, 得到图形F1。
1
p2
0.9
0.8
0.7
0.6
0.5
0.4
0.3
q1
0.2
0.1
0 -0.5
-0.4
-0.3
-0.2
-0.1
0
p1
0.1
0.2
0.3
0.4
0.5
分形树
MATLAB程序: • • • r(i,:)=q1;i=i+1; %矩阵r的第二行存储点q1 r(i,:)=q1;i=i+1; %矩阵r的第三行存储点q1 q2=q1+d*A';
1
p2
0.9
0.8
0.7
q2
0.6
q3 q1
0.5
0.4
0.3
0.2
0.1
0 -0.5
-0.4
-0.3
-0.2
-0.1
0
p1
0.1
0.2
0.3
0.4
0.5
分形树
MATLAB程序: • • • r(i,:)=q3;i=i+1; %矩阵r的第六行存储点q3 r(i,:)=q3;i=i+1; %矩阵r的第七行存储点q3 q4=q3+d*A;
1
p2
0.9
0.8
0.7
q2
0.6
0.5
0.4
0.3
q1
0.2
0.1
0 -0.5
-0.4
-0.3
-0.2
-0.1
0
p1
0.1
0.2
0.3
0.4
0.5
分形树
MATLAB程序: • • • • r(i,:)=q2;i=i+1; %矩阵r的第四行存储点q2 r(i,:)=q1;i=i+1; %矩阵r的第五行存储点q1 q3=p1+2*d;
levy曲线
1
p2
q4 q2 q3
0.9
0.8
0.7
0.6
0.5
0.4
0.3
பைடு நூலகம்
q1
0.2
0.1
0 -0.5
-0.4
-0.3
-0.2
-0.1
0
p1
0.1
0.2
0.3
0.4
0.5
分形树
MATLAB程序: • r(i,:)=q4;i=i+1; %矩阵r的第八行存储点q4 • r(i,:)=q3;i=i+1; %矩阵r的第九行存储点q3 • r(i,:)=p2;i=i+1; %矩阵r的第十行存储点p2 • xy=[q1;q2]; • plot(xy(:,1),xy(:,2),‘k’); %联结q1 q2 •Hold on;%图形保持 • xy=[q3;q4]; • plot(xy(:,1),xy(:,2),'k'); %联结q3 q4 •Hold on;%图形保持 • end
levy曲线
MATLAB程序: •r(i,:)=q1;i=i+1; • r(i,:)=q1;i=i+1; • r(i,:)=p2;i=i+1; • end •n=n*2;p=r; •end •for m=1:2:n • plot([p(m,1) p(m+1,1)],[p(m,2) p(m+1,2)],'k'); • hold on; •end •axis equal