数学应用之分形

上传人:bin****86 文档编号:54683410 上传时间:2018-09-17 格式:PPT 页数:40 大小:400KB
返回 下载 相关 举报
数学应用之分形_第1页
第1页 / 共40页
数学应用之分形_第2页
第2页 / 共40页
数学应用之分形_第3页
第3页 / 共40页
数学应用之分形_第4页
第4页 / 共40页
数学应用之分形_第5页
第5页 / 共40页
点击查看更多>>
资源描述

《数学应用之分形》由会员分享,可在线阅读,更多相关《数学应用之分形(40页珍藏版)》请在金锄头文库上搜索。

1、2018/9/17,黄建华制作,0,4. 6 分形图形的计算机生成,由生成元生成由迭代函数系生成由复变函数迭代生成,2018/9/17,黄建华制作,1,4.6.1由生成元生成的分形图形,cantor三分集生成方法:选取一条直线段F0,将该线段三等分,去掉中间一段,剩下两段。将剩下的两段分别再三等分,各去掉中间的一段,剩下四段。继续这样的操作,直至无穷,则可得到一个离散的点集,称为cantor三分集。程序略。,由生成元产生的分形是一种规则分形,是数学家按照一定规则构造出来的,相当于物理学种的模型。构造特点:最终图形是按照一定规则R对初始F0不断修改得到的。,2018/9/17,黄建华制作,2,4

2、.6.1由生成元生成的分形图形,koch曲线生成方法:选取一条直线段F0,将该线段三等分,并将中间一段用以该线段为边的等边三角形的另外两条边代替,得到图形F1。再将F1的每一段都按上述方法修改,直至无穷,则最后得到的极限曲线,称为koch曲线。,2018/9/17,黄建华制作,3,4.6.1由生成元生成的分形图形,程序:clear;clf;new=0,1;%定义初始线段的两端 kmax=20; %迭代次数 for k=1:kmaxold=new; %保存原有各点的坐标n=length(old)-1; %计算需要改变图形的线段数目 for m=0:n-1 %计算各新线段两端点的坐标(5点)dif

3、f=(old(m+2)-old(m+1)/3; %取新线段长度向量 new(4*m+1)=old(m+1); %新线段第一点坐标 new(4*m+2)=old(m+1)+diff; %新线段第二点坐标 new(4*m+3)= new(4*m+2)+diff*(1+sqrt(3)*i)/2); %第三点 new(4*m+4)=old(m+1)+2*diff; %第四点 end new(4*n+1)=old(n+1); %最后一点 plot(new) ; axis equal; end,2018/9/17,黄建华制作,4,4.6.1由生成元生成的分形图形,2018/9/17,黄建华制作,5,4.6

4、.1由生成元生成的分形图形,分形树生成方法:选取一条直线段F0,将该线段三等分,在等分点上各画一条长度为原线段长度三分之一的线段,并与原线段成固定夹角,得到图形F1。再将F1的每一段都按上述方法修改,直至无穷,则最后得到的极限图象,称为分形树。,a,b,c,d,e,o,2018/9/17,黄建华制作,6,4.6.1由生成元生成的分形图形,程序:clear;clf;th=pi/6;%设置角度 u=0,0;0,1; %初始线段坐标rov1=cos(th),-sin(th);sin(th),cos(th) ; rov2=rov1; %坐标变换矩阵 kmax=15; %循环次数 for k=1:kma

5、xuuu=; %建立一空数组,保存点坐标n=length(u)/2; %计算需要改变图形的线段数目 for m=0:n-1 %计算各新端点的坐标p1=(u(2*m+1,:)*2+u(2*m+2,:)/3 ; %a点p2=(u(2*m+1,:) +u(2*m+2,:)*2)/3; %b点 pp=(u(2*m+2,1)-u(2*m+1,1); (u(2*m+2,2)-u(2*m+1,2)/3; %计算新线段向量,2018/9/17,黄建华制作,7,4.6.1由生成元生成的分形图形,lp=rov1*pp; %第一条树枝偏转向量 lp=p1+lp; %第一条树枝端点C坐标 rp=rov2*pp; %第

6、二条树枝偏转向量 rp=p2+rp; %第二条树枝端点D坐标 uu=u(2*m+1,:);p1;p1;lp;p1;p2;p2;rp;p2;u(2*m+2,:);%按顺序排列新线段两端点的坐标 uuu=uuu;uu; end u=uuu; plot(u(:,1),u(:,2) ; axis(-0.5,0.5,0,1 ); end,2018/9/17,黄建华制作,8,4.6.1由生成元生成的分形图形,2018/9/17,黄建华制作,9,4.6.2由迭代函数系生成的分形图形,以及相应的一组概率:p1,p2,.,pn(p1+p2+.+pn=1,pi0) 。 对于任意选取的初始值z0=(x0,y0),以

7、概率pi选取变换wi做迭代:zk+1=(xk+1,yk+1)=wi(xk,yk),k=0,1,2,.则点列zk收敛的极限图形称为一个IFS吸引子,即分形。利用IFS迭代可以生成美丽的分形,而且IFS迭代的程序具有通用性,要想得到不同的分形只需改变变换种的系数和概率值。,由迭代函数系(IFS)产生分形的一般算法是:给定平面上的一组仿射变换wi:,2018/9/17,黄建华制作,10,4.6.2由迭代函数系生成的分形图形,步骤: (1)设定迭代的可视区域为: V=(x,y)|xminxxmax,yminyymax再按分辨率的大小V分成a*b的网格,网格点为(xi,yi),其中: xi=xmin+(

8、xmax-xmin)*i/a,i=0,1,2,.,a yi=ymin+(ymax-ymin)*i/b,i=0,1,2,.,b 设迭代N次; (2)设定初始点(x0,y0),不妨取(0,0); (3)在数列1,2,.,n中,以概率pi选取变换wi; (4)将变换作用到点(xk,yk) 上,得到新点(xk+1,yk+1) ; (5)画出点(xk,yk) ,直到循环结束。,2018/9/17,黄建华制作,11,4.6.2由迭代函数系生成的分形图形,barnsley羊齿叶,程序:clear;clf;n=100000;%设置迭代次数 v=rand(n,1); %随机数用于每一步做概率系数 x0=0;y0

9、=0 ; x=x0;zeros(n-1,1); y=y0;zeros(n-1,1); %可视区域点数 for i=2:n % 按规则计算下一点坐标,2018/9/17,黄建华制作,12,4.6.2由迭代函数系生成的分形图形,vv=v(i); % 取概率 if vv0.01 % 概率p=0.01 y(i)=0.16*y(i-1); elseif vv0.86 % 概率p=0.85 x(i)=0.85*x(i-1)+0.04*y(i-1); y(i)=1.6-0.04*x(i-1)+0.85*y(i-1); elseif vv0.93 % 概率p=0.07 x(i)=0.2*x(i-1)-0.26

10、*y(i-1); y(i)=1.6+0.23*x(i-1)+0.22*y(i-1); else x(i)=-0.15*x(i-1)+0.28*y(i-1); y(i)=0.26*x(i-1)+0.24*y(i-1)+0.44; end,2018/9/17,黄建华制作,13,4.6.2由迭代函数系生成的分形图形,end plot(x(1:n),y(1:n),.r,markersize,1) ;axis off,2018/9/17,黄建华制作,14,4.6.2由迭代函数系生成的分形图形,sierpinski垫,程序:clear;clf;n=100000;%设置迭代次数 v=rand(n,1); %

11、随机数用于每一步做概率系数 x0=0;y0=0 ; x=x0;zeros(n-1,1); y=y0;zeros(n-1,1); %可视区域点数 for i=2:n % 按规则计算下一点坐标,2018/9/17,黄建华制作,15,4.6.2由迭代函数系生成的分形图形,vv=v(i); % 取概率 if vv0.333 % 概率p=0.333 x(i)=0.5*x(i-1); y(i)=0.5*y(i-1); elseif vv0.666 % 概率p=0.333 x(i)=0.5*x(i-1)+0.25; y(i)=0.433+0.5*y(i-1); else x(i)=0.5*x(i-1)+0.

12、5; y(i)=0.5*y(i-1); end end plot(x(1:n),y(1:n),.b,markersize,1) ;axis off,2018/9/17,黄建华制作,16,4.6.2由迭代函数系生成的分形图形,2018/9/17,黄建华制作,17,4.6.2由迭代函数系生成的分形图形,分形树,程序:clear;clf;n=100000;%设置迭代次数 v=rand(n,1); %随机数用于每一步做概率系数 x0=0;y0=0 ; x=x0;zeros(n-1,1); y=y0;zeros(n-1,1); %可视区域点数 for i=2:n % 按规则计算下一点坐标,2018/9/

13、17,黄建华制作,18,4.6.2由迭代函数系生成的分形图形,vv=v(i); % 取概率 if vv0.05 % 概率p=0.05 y(i)=0.5*y(i-1); elseif vv0.45 % 概率p=0.4 x(i)=0.42*x(i-1)-0.42*y(i-1); y(i)=0.2+0.42*(x(i-1)+y(i-1); elseif vv0.85 x(i)=0.42*(x(i-1)+y(i-1); y(i)=0.42*(y(i-1)-x(i-1)+0.2; else x(i)=0.1*x(i-1); y(i)=0.2+0.1*y(i-1); end,2018/9/17,黄建华制作

14、,19,4.6.2由迭代函数系生成的分形图形,end plot(x(1:n),y(1:n),.m,markersize,1) ;axis off,2018/9/17,黄建华制作,20,4.6.2由迭代函数系生成的分形图形,levy曲线,程序:clear;clf;n=100000;%设置迭代次数 v=rand(n,1); %随机数用于每一步做概率系数 x0=0;y0=0 ; x=x0;zeros(n-1,1); y=y0;zeros(n-1,1); %可视区域点数 for i=2:n % 按规则计算下一点坐标,2018/9/17,黄建华制作,21,4.6.2由迭代函数系生成的分形图形,vv=v(

15、i); % 取概率 if vv0.5 % 概率p=0.5 x(i)=0.5*(x(i-1)-y(i-1); y(i)=0.5*(x(i-1)+ y(i-1); else x(i)=0.5*(x(i-1)+y(i-1)+0.5; y(i)=-0.5*(x(i-1)- y(i-1)+0.5; end end plot(x(1:n),y(1:n),.m,markersize,1) ;axis off,2018/9/17,黄建华制作,22,4.6.2由迭代函数系生成的分形图形,2018/9/17,黄建华制作,23,给定一个初始复数z0,由迭代:zk+1=zk2+c,k=0,1,2,.其中zk为复数, c为复常数对于给定的初始复数z0,迭代序列zk可能有界,也可能发散到无穷。使得序列zk有界的所有初值z0的集合J称为复平面上的julia集。对于不同的参数c,julia集的形状会有不同。若固定初值z0,则对于不同的参数 c,迭代序列 zk可能有界,也可能发散到无穷。使得序列zk有界的所有参数c的集合M称为复平面上的mandelbrot集。对于不同的参数z0,mandelbrot集的形状也会有不同。,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > PPT模板库 > PPT素材/模板

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号