Koch分形曲线.doc

Koch分形曲线.doc

ID:28732136

大小:140.00 KB

页数:8页

时间:2018-12-13

Koch分形曲线.doc_第1页
Koch分形曲线.doc_第2页
Koch分形曲线.doc_第3页
Koch分形曲线.doc_第4页
Koch分形曲线.doc_第5页
资源描述:

《Koch分形曲线.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、Koch分形曲线1.1分形原理这是一类复杂的平面曲线,可用算法描述。从一条直线段开始,将线段中间三分之一部分用等边三角形的两条边代替,形成具有5个结点的图形(图1);在新的图形中,又将图中每一直线段中间的三分之一部分都用一等边三角形的两条边代替,再次形成新的图形(图2),这时,图形中共有17个结点。图2 第二次迭代图1 第一次迭代这种迭代继续进行下去可以形成Koch分形曲线。在迭代过程中,图形中的点将越来越多,而曲线最终显示细节的多少将取决于迭代次数和显示系统的分辩率。1.2算法分析算法分析:考虑

2、由直线段(2个点)产生第一个图形(5个点)的过程。设和分别为原始直线段的两个端点。现在需要在直线段的中间依次插入三个点产生第一次迭代的图形(图1)。显然,位于点右端直线段的三分之一处,位于点右端直线段的三分之二处;而点的位置可以看成是由点绕旋转60度(逆时针方向)而得到的,故可以处理为向量经正交变换而得到向量。算法如下:(1);(2);(3);在(3)中,A为正交矩阵:                     算法根据初始数据(和点的坐标),产生图1中5个结点的坐标。结点的坐标数组形成一个5×2矩

3、阵,矩阵的第一行为的坐标,第二行为的坐标,……,第五行为的坐标。矩阵的第一列元素分别为5个结点的X坐标,第二列元素分别为5个结点的Y坐标。进一步考虑Koch曲线形成过程中结点数目的变化规律。设第k次迭代产生结点数为,第k+1次迭代产生结点数为,则和之间的递推关系式为。1.4MATLAB实现p=[00;100];n=2;A=[cos(pi/3)-sin(pi/3);sin(pi/3)cos(pi/3)];fork=1:5d=diff(p)/3;m=4*n-3;q=p(1:n-1,:);p(5:4:m

4、,:)=p(2:n,:);p(2:4:m,:)=q+d;p(3:4:m,:)=q+d+d*A';p(4:4:m,:)=q+2*d;n=m;endplot(p(:,1),p(:,2),'k')axisequalaxisoff程序运行后,可得如下分形曲线图形:图3第五次迭代图形图4树形生成元及对应曲线图1所示的简单图形被称为是koch曲线的生成元。下面给出其它几种生成元及对应曲线:图5第二种树形生成元及对应曲线(a)矩形生成元图6矩形生成元及两种对应曲线(b)第一种生成方式(c)第二种生成方式1.5附

5、源程序l第一种树形源程序:p=[00;1010];n=2;line(p(:,1),p(:,2),'Color','k');A=[cos(pi/6)-sin(pi/6);sin(pi/6)cos(pi/6)];fork=1:4i=1;forj=1:2:np1=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,:)=q

6、1;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');endp=r;n=5*n;endaxisequalaxisoffl第二种树形源程序clearp=[00;0

7、15];b=pi/8;e=1.5;a=[cos(b)-sin(b);sin(b)cos(b)];n=2;fork=1:4i=1;forj=1:2:np1=p(j,:);p2=p(j+1,:);d=(p2-p1)/3;new(i,:)=p1;i=i+1;q1=p1+d;new(i,:)=q1;i=i+1;new(i,:)=q1;i=i+1;new(i,:)=p1+d+e*d*a';i=i+1;new(i,:)=q1;i=i+1;new(i,:)=p1+d+e*d*a;i=i+1;new(i,:)=p

8、1+d;i=i+1;q2=p1+2*d;new(i,:)=q2;i=i+1;new(i,:)=q2;i=i+1;new(i,:)=p1+2*d+d*a;i=i+1;new(i,:)=q2;i=i+1;new(i,:)=p1+2*d+d*a';i=i+1;new(i,:)=p1+2*d;i=i+1;new(i,:)=p2;i=i+1;endn=n*7;p=new;endform=1:2:nline([p(m,1)p(m+1,1)],[p(m,2)p(m+1,2)],'Color','

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。