计算机分形剖析

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

计算机图形学实验报告

图1 第一次迭代图2 第二次迭代

2、算法分析

2.1 koch雪花

在一单位长度的线段上对其三等分,将中间段直线换成一个去掉底边的等边三角形,再在每条直线上重复以上操作,如此进行下去直到无穷,就得到分形曲线Koch曲线。

1.给定初始直线(x1,y1)、(x2,y2),按Koch曲线的构成原理计算出各关键点坐标如

下:

x4 = x1 *2/3 + x2* 1/3;

y4 = y1 *2/3 + y2* 1/3;

x5 = x1 *1/3 + x2* 2/3;

y5 = y1 *1/3 + y2* 2/3;

x3 = (x4 + x5) /2 + (y4-y5)* sqrt(3.0)/2;

y3 = (y4 + y5) /2 + (x5-x4)* sqrt(3.0)/2;

2. 2.利用递归算法,将计算出来的新点分别对应于(x1,y1)、(x2,y2)),然后利用步

骤1中的计算公式计算出下一级新点(x4, y4),(x5,y5),(x3,y3),并压入堆

栈。

if(depth<= 1){

//初始化画线

}

else{.//递归

koch(x1,y1,x4,y4,depth-1);

koch(x4,y4,x3,y3,depth-1);

koch(x3,y3,x5,y5,depth-1);

koch(x5,y5,x2,y2,depth-1);

}

3.给定一个小量c,当l

(x2,y2),然后结束程序.

k =1 递归二次:k =2

递归三次:k =3 递归N次:k =N (2)按键‘A’或‘a’换第一种渐变色

按键‘S’或‘s’换第二种渐变色;

树的界面,点击屏幕开始递归分析递归一次:k =1 递归二次:k =2

递归N次:k =N

参考文献:

[1] 分形算法与程序设计—java实现孙博文著科学出版社,2004

[2] 混沌的计算实验与分析于万波著科学出版社,2008

[3] Koch雪花曲线的制作及其重要结论《长春师范大学学报》, 2003, 第1期:6-8

[4]基于分形理论的图形设计研究与应用帅昌浩著《西安科技大学》, 2008

相关文档
最新文档