分形算法和程序设计PPT.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
分形算法和程序设计PPT.ppt

参考书:《分形算法与程序设计》 2006-7-3 哈尔滨理工大学 孙博文 分形频道 fractal.cn 9.4 Sierpinski海绵 else //递归调用画下一级Sierpinski海绵 glClear(GL_COLOR_BUFFER_BIT or GL_DEPTH_BUFFER_BIT); l:=l/3; Drawscene(x-l,y+l,z-l,l,n-1); //后左上 Drawscene(x,y+l,z-l,l,n-1); //后中上 Drawscene(x+l,y+l,z-l,l,n-1); //后右上 Drawscene(x-l,y,z-l,l,n-1); //后左中 Drawscene(x+l,y,z-l,l,n-1); //后右中 Drawscene(x-l,y-l,z-l,l,n-1); //后左下 Drawscene(x,y-l,z-l,l,n-1); //后中下 Drawscene(x+l,y-l,z-l,l,n-1); //后右下 9.4 Sierpinski海绵 Drawscene(x-l,y+l,z,l,n-1); //中左上 Drawscene(x+l,y+l,z,l,n-1); //中右上 Drawscene(x-l,y-l,z,l,n-1); //中左下 Drawscene(x+l,y-l,z,l,n-1); //中右下 ? Drawscene(x-l,y+l,z+l,l,n-1); //前左上 Drawscene(x,y+l,z+l,l,n-1); //前中上 Drawscene(x+l,y+l,z+l,l,n-1); //前右上 Drawscene(x-l,y,z+l,l,n-1); //前左中 Drawscene(x+l,y,z+l,l,n-1); //前右中 Drawscene(x-l,y-l,z+l,l,n-1); //前左下 Drawscene(x,y-l,z+l,l,n-1); //前中下 Drawscene(x+l,y-l,z+l,l,n-1); //前右下 } 第 10 章 分形自然景物模拟算法 9.1 随机中点位移法生成山 9.2 分形插值算法生成云和山 随机中点位移法生成山 10.1 ?1. 一维中点位移法 以一条水平地平线段开始 ????重复足够多次{   对场景中的每条线段做{     找到线段的中点     在?Y?方向上随机移动中点一段距离     减小随机数取值范围   } } 随机中点位移法生成山 10.1 ?1. 一维中点位移法 粗糙度常量。这个值决定每次循环随机数值域的减少量,也就是说,决定分形结果的粗糙程度。例如使用一个?0.0?到?1.0?之间的浮点数并称之为?H?。因此?(a-h)?是1.0(?对于小?H)?到?0.5(对大?H?)范围内的数。随机数范围在每次循环时乘上这个值。如果?H?设为?1.0?,则随机数范围将每次循环减半,从而得到一个非常平滑的分形。将?H?设为?0.0?,则范围根本不减小,结果有明显的锯齿感。 随机中点位移法生成山 10.1 ?2. 二维中点位移法 上面是将索引(?x?值)映射为高度值(?y?值)。 ???? 如果需要一个两维高度值数组,它将索引?(x,z)?映射为高度?(y)?。数组只需保存高度值?(y)?。水平面值?(x?和?z)?可以在分析数组时即时生成。 ???? 通过对每个高度指定一个颜色,可以将一幅高度图显示为一幅图像。如下,高点为白色,低处为黑色。 ??? ?绘制高度图的方法对于生成云彩纹理图是很有用的。 随机中点位移法生成山 10.1 3. 三维中点位移法 选择AB、AC、BC线段中点,并沿y方向分别加一个随机量h1、h2、h3,得到E、F、G点,其中,h1、h2、h3的取值范围相同。 连接AE、BE、AF、CF、BG、CG,从而构成△AEG、△BEF、△CFG、△EFG等4个小三角形,并将原来的三角形△ABC抹去。选择明暗不同的4种颜色,分别填充这4个三角形。 分别基于上述形成的4个小三角形,重复执行上面的操作。 随机中点位移法生成山 10.1 3. 三维中点位移法 在实现此算法时应避免出现山体裂痕。当每一级中点位移时,都

您可能关注的文档

文档评论(0)

feiyang66 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档