数学应用之分形课件_第1页
数学应用之分形课件_第2页
数学应用之分形课件_第3页
数学应用之分形课件_第4页
数学应用之分形课件_第5页
已阅读5页,还剩34页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

4.6.1由生成元生成的分形图形cantor三分集

生成方法:选取一条直线段F0,将该线段三等分,去掉中间一段,剩下两段。将剩下的两段分别再三等分,各去掉中间的一段,剩下四段。继续这样的操作,直至无穷,则可得到一个离散的点集,称为cantor三分集。

程序略。由生成元产生的分形是一种规则分形,是数学家按照一定规则构造出来的,相当于物理学种的模型。构造特点:最终图形是按照一定规则R对初始F0不断修改得到的。

2023/8/230黄建华制作4.6.1由生成元生成的分形图形cantor三分集4.6.1由生成元生成的分形图形koch曲线

生成方法:选取一条直线段F0,将该线段三等分,并将中间一段用以该线段为边的等边三角形的另外两条边代替,得到图形F1。再将F1的每一段都按上述方法修改,直至无穷,则最后得到的极限曲线,称为koch曲线。

2023/8/231黄建华制作4.6.1由生成元生成的分形图形koch曲线2023/8/14.6.1由生成元生成的分形图形程序:clear;clf;new=[0,1];%定义初始线段的两端kmax=20;%迭代次数fork=1:kmaxold=new;%保存原有各点的坐标

n=length(old)-1;%计算需要改变图形的线段数目

form=0:n-1%计算各新线段两端点的坐标(5点)diff=(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;%第四点endnew(4*n+1)=old(n+1);%最后一点plot(new);axisequal;end2023/8/232黄建华制作4.6.1由生成元生成的分形图形程序:clear;clf;n4.6.1由生成元生成的分形图形2023/8/233黄建华制作4.6.1由生成元生成的分形图形2023/8/13黄建华制作4.6.1由生成元生成的分形图形分形树生成方法:选取一条直线段F0,将该线段三等分,在等分点上各画一条长度为原线段长度三分之一的线段,并与原线段成固定夹角,得到图形F1。再将F1的每一段都按上述方法修改,直至无穷,则最后得到的极限图象,称为分形树。

abcdeo2023/8/234黄建华制作4.6.1由生成元生成的分形图形分形树abcdeo2023/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;%循环次数fork=1:kmaxuuu=[];%建立一空数组,保存点坐标

n=length(u)/2;%计算需要改变图形的线段数目

form=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;%计算新线段向量2023/8/235黄建华制作4.6.1由生成元生成的分形图形程序:clear;clf;t4.6.1由生成元生成的分形图形lp=rov1*pp;%第一条树枝偏转向量lp=p1+lp';%第一条树枝端点C坐标rp=rov2*pp;%第二条树枝偏转向量rp=p2+rp';%第二条树枝端点D坐标uu=[u(2*m+1,:);p1;p1;lp;p1;p2;p2;rp;p2;u(2*m+2,:)];%按顺序排列新线段两端点的坐标uuu=[uuu;uu];endu=[uuu];plot(u(:,1),u(:,2));axis([-0.5,0.5,0,1]);end2023/8/236黄建华制作4.6.1由生成元生成的分形图形lp=rov1*pp;4.6.1由生成元生成的分形图形2023/8/237黄建华制作4.6.1由生成元生成的分形图形2023/8/17黄建华制作4.6.2由迭代函数系生成的分形图形以及相应的一组概率:p1,p2,...,pn(p1+p2+...+pn=1,pi>0)。对于任意选取的初始值z0=(x0,y0),以概率pi选取变换wi做迭代:

zk+1=(xk+1,yk+1)=wi(xk,yk),k=0,1,2,...

则点列{zk}收敛的极限图形称为一个IFS吸引子,即分形。利用IFS迭代可以生成美丽的分形,而且IFS迭代的程序具有通用性,要想得到不同的分形只需改变变换种的系数和概率值。由迭代函数系(IFS)产生分形的一般算法是:给定平面上的一组仿射变换wi:

2023/8/238黄建华制作4.6.2由迭代函数系生成的分形图形以及相应的一组概率:p14.6.2由迭代函数系生成的分形图形步骤:(1)设定迭代的可视区域为:V={(x,y)|xmin≤x≤xmax,ymin≤y≤ymax}再按分辨率的大小V分成a*b的网格,网格点为(xi,yi),其中:xi=xmin+(xmax-xmin)*i/a,i=0,1,2,...,ayi=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),直到循环结束。2023/8/239黄建华制作4.6.2由迭代函数系生成的分形图形步骤:2023/8/194.6.2由迭代函数系生成的分形图形barnsley羊齿叶

wabcdefp10000.16000.0120.850.04-0.040.8501.60.8530.2-0.260.230.2201.60.074-0.150.280.260.4400.440.07程序:clear;clf;n=100000;%设置迭代次数v=rand(n,1);%随机数用于每一步做概率系数x0=0;y0=0;x=[x0;zeros(n-1,1)];y=[y0;zeros(n-1,1)];%可视区域点数fori=2:n%按规则计算下一点坐标2023/8/2310黄建华制作4.6.2由迭代函数系生成的分形图形barnsley羊齿叶w4.6.2由迭代函数系生成的分形图形vv=v(i);%取概率ifvv<0.01%概率p=0.01y(i)=0.16*y(i-1);elseifvv<0.86%概率p=0.85x(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);elseifvv<0.93%概率p=0.07x(i)=0.2*x(i-1)-0.26*y(i-1);y(i)=1.6+0.23*x(i-1)+0.22*y(i-1);elsex(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;end2023/8/2311黄建华制作4.6.2由迭代函数系生成的分形图形vv=v(i);4.6.2由迭代函数系生成的分形图形endplot(x(1:n),y(1:n),'.r','markersize',1);axisoff

2023/8/2312黄建华制作4.6.2由迭代函数系生成的分形图形end2023/8/114.6.2由迭代函数系生成的分形图形sierpinski垫

wabcdefp10.5000.5000.33320.5000.50.250.4330.33330.5000.50.500.333程序:clear;clf;n=100000;%设置迭代次数v=rand(n,1);%随机数用于每一步做概率系数x0=0;y0=0;x=[x0;zeros(n-1,1)];y=[y0;zeros(n-1,1)];%可视区域点数fori=2:n%按规则计算下一点坐标2023/8/2313黄建华制作4.6.2由迭代函数系生成的分形图形sierpinski垫w4.6.2由迭代函数系生成的分形图形vv=v(i);%取概率ifvv<0.333%概率p=0.333x(i)=0.5*x(i-1);y(i)=0.5*y(i-1);elseifvv<0.666%概率p=0.333x(i)=0.5*x(i-1)+0.25;y(i)=0.433+0.5*y(i-1);elsex(i)=0.5*x(i-1)+0.5;y(i)=0.5*y(i-1);endendplot(x(1:n),y(1:n),'.b','markersize',1);axisoff2023/8/2314黄建华制作4.6.2由迭代函数系生成的分形图形vv=v(i);4.6.2由迭代函数系生成的分形图形2023/8/2315黄建华制作4.6.2由迭代函数系生成的分形图形2023/8/115黄建4.6.2由迭代函数系生成的分形图形分形树wabcdefp10000.5000.0520.42-0.420.420.4200.20.430.420.42-0.420.4200.20.440.1000.100.20.15程序:clear;clf;n=100000;%设置迭代次数v=rand(n,1);%随机数用于每一步做概率系数x0=0;y0=0;x=[x0;zeros(n-1,1)];y=[y0;zeros(n-1,1)];%可视区域点数fori=2:n%按规则计算下一点坐标2023/8/2316黄建华制作4.6.2由迭代函数系生成的分形图形分形树wabcdefp14.6.2由迭代函数系生成的分形图形vv=v(i);%取概率ifvv<0.05%概率p=0.05y(i)=0.5*y(i-1);elseifvv<0.45%概率p=0.4x(i)=0.42*x(i-1)-0.42*y(i-1);y(i)=0.2+0.42*(x(i-1)+y(i-1));elseifvv<0.85x(i)=0.42*(x(i-1)+y(i-1));y(i)=0.42*(y(i-1)-x(i-1))+0.2;elsex(i)=0.1*x(i-1);y(i)=0.2+0.1*y(i-1);end2023/8/2317黄建华制作4.6.2由迭代函数系生成的分形图形vv=v(i);4.6.2由迭代函数系生成的分形图形endplot(x(1:n),y(1:n),'.m','markersize',1);axisoff

2023/8/2318黄建华制作4.6.2由迭代函数系生成的分形图形end2023/8/114.6.2由迭代函数系生成的分形图形levy曲线wabcdefp10.5-0.50.50.5000.520.50.5-0.50.50.50.50.5程序:clear;clf;n=100000;%设置迭代次数v=rand(n,1);%随机数用于每一步做概率系数x0=0;y0=0;x=[x0;zeros(n-1,1)];y=[y0;zeros(n-1,1)];%可视区域点数fori=2:n%按规则计算下一点坐标2023/8/2319黄建华制作4.6.2由迭代函数系生成的分形图形levy曲线wabcde4.6.2由迭代函数系生成的分形图形vv=v(i);%取概率ifvv<0.5%概率p=0.5x(i)=0.5*(x(i-1)-y(i-1));y(i)=0.5*(x(i-1)+y(i-1));elsex(i)=0.5*(x(i-1)+y(i-1))+0.5;y(i)=-0.5*(x(i-1)-y(i-1))+0.5;endendplot(x(1:n),y(1:n),'.m','markersize',1);axisoff2023/8/2320黄建华制作4.6.2由迭代函数系生成的分形图形vv=v(i);4.6.2由迭代函数系生成的分形图形2023/8/2321黄建华制作4.6.2由迭代函数系生成的分形图形2023/8/121黄建给定一个初始复数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集的形状也会有不同。

4.6.3由复变函数迭代生成的分形图形2023/8/2322黄建华制作给定一个初始复数z0,由迭代:4.6.3由复变函数为了便于绘图,令zk=xk+iyk,c=p+iq,则:

xk+1=xk2-yk2+p,yk+1=2xkyk+q记:rk+1=sqrt(xk2+yk2)则序列{zk}有界相当于序列{rk}有界,可用一个上界值M来判断是否有界。

julia集绘制步骤:(1)选定p,q,最大迭代次数kmax,上界M,显示分辨率(xmax,ymax)迭代区域[xmin,xmax;ymin,ymax],步长hx=(xmax-xmin)/xmax,hy=(ymax-ymin)/ymax,进行循环4.6.3由复变函数迭代生成的分形图形2023/8/2323黄建华制作为了便于绘图,令zk=xk+iyk,c=p+iq,则:4.(2)建立初值与计算机屏幕上点的对应关系:x0=xmin+ihx,y0=ymin+ihy,k=0(3)计算:

x1=x02-y02+p,y1=2x0y0+q;k=k+1,r=sqrt(x12+y12)(4)判断:若r>M,表明点(x0,y0)产生的序列无界,用白色显示点并转向步骤(2);若k=kmax,表明点(x0,y0)产生的序列有界,用黑色显示点并转向步骤(2);若r≤M且k≤kmax,则继续迭代;4.6.3由复变函数迭代生成的分形图形2023/8/2324黄建华制作(2)建立初值与计算机屏幕上点的对应关系:4.6.3由复变函mandelbrot集程序:clear;clf;x=linspace(-1.5,1.5,300);y=linspace(-2.25,0.75,300);%设置显示范围[X,Y]=meshgrid(x,y);%设置像素点的坐标n=100;c=X+i*Y;Z=X+i*Y;fork=1:n%迭代过程Z=Z.^2+c;endW=abs(Z);pcolor(X,Y,W);%绘制当前颜色矩阵W的伪彩色图shadingflat;%画出二维曲面W的阴影,axis('square');colormapprism(256)%创建颜色矩阵,并返回颜色值gtext('mandelbrot图')4.6.3由复变函数迭代生成的分形图形2023/8/2325黄建华制作mandelbrot集程序:4.6.3由复变函数迭代生成的分4.6.3由复变函数迭代生成的分形图形2023/8/2326黄建华制作4.6.3由复变函数迭代生成的分形图形2023/8/126黄mandelbrot集程序修改:clear;clf;x=linspace(-2,0.5,300);y=linspace(-1.25,1.25,300);%设置显示范围[X,Y]=meshgrid(x,y);%设置像素点的坐标n=200;c=X+i*Y;Z=0;W=zeros(size(X));fork=1:n%迭代过程Z=Z.^2+c;i0=find(abs(Z)>2);W(i0)=k;Z(i0)=nan;endi0=find(W==0);W(i0)=nan;pcolor(X,Y,W);shadingflat;axis('square');colormapprism(256)gtext('mandelbrot图')4.6.3由复变函数迭代生成的分形图形2023/8/2327黄建华制作mandelbrot集程序修改:4.6.3由复变函数迭代生成4.6.3由复变函数迭代生成的分形图形龟图2023/8/2328黄建华制作4.6.3由复变函数迭代生成的分形图形龟图2023/8/12mandelbrot集程序再修改:clear;clf;x=linspace(-0.74547,-0.74538,300);y=linspace(0.11298,0.11304,300);%设置显示范围[X,Y]=meshgrid(x,y);%设置像素点的坐标n=200;c=X+i*Y;Z=0;W=zeros(size(X));fork=1:n%迭代过程Z=Z.^2+c;i0=find(abs(Z)>2);W(i0)=k;Z(i0)=nan;endi0=find(W==0);W(i0)=nan;pcolor(X,Y,W);shadingflat;axis('square');colormapprism(256)gtext('mandelbrot图')4.6.3由复变函数迭代生成的分形图形2023/8/2329黄建华制作mandelbrot集程序再修改:4.6.3由复变函数迭代生4.6.3由复变函数迭代生成的分形图形2023/8/2330黄建华制作4.6.3由复变函数迭代生成的分形图形20

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论