分形图形学实验指导.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
分形图形学实验指导 ———————————————————————————————— 作者 : ———————————————————————————————— 日期: ? 分形图形学实验指导 实验一 二维空间上的分形图形生成 实验目的 Mandelb r ot 集与 Julia 集的计算机实现 掌握用 L 系统语言生成分形 实验内容及步骤 1. 编写程序生成 Mandelbrot 集 在复迭代中影响最大的当属迭代z→z^ 2+ c,实际上它只是形式更一 般的复解 析迭代 z_ ( n+ 1)=F(z_n)+c 的一种, F 是一个非线性函数。显然 z→z^ 2+c 也是最 简单的一种 , 它 在复迭代中的地位相当于逻辑斯蒂映射x _(n+ 1 )= a x_n(1- x_n)在 实迭代中的地位 ( 见第八章)。 考虑一般形式的 F,令z =x+iy,c=c_(  X)+ ic_(Y)  ,其中  i  表示虚数  , i =SQRT(-1) 。 分离实部与虚部,具体化迭代关系便有  : x→f( x ,y)+c_ (X ),y →g( x, y) +c_( Y ). 通常所说的 M集是迭代二次函数 z→ z^2+ c 产生的 , 此函数具 体化就是 x→ x^2 - y^2+c_ ( X) , y→2 x y+ c_( Y) . 其中 z= x+i y, c=c_( X)+i c_( Y ), 以横轴 x记录实数的实部,以纵轴 y 记录实数 的虚部。 M集合实际上是常数 c=( c_( X), c_( Y) ) 构成的图象。让 c 从屏幕左上角 开始变化,逐行增加 , 一直变到屏幕右下角。如果取的区域是20 0×2 00,则一共要 计算 40,000 个点 , 把计算的结果用不同的颜色标记下来,就得到一幅图象,这 就是 集。对于不同的 c 值 , 如何得到表征迭代性质的不同的结果呢 ?  M 容易知道 , 无穷远处肯定是迭代的一个吸引子, 即对于复平面上相当多的初始条件 , 迭代最终都跑到无穷远处。 但研究发现, 在原点附近还存在一个奇特的区域, 在迭代过程中此区域永远不会跑掉。在非严格的意义上,这个不变的集合就是M集 , 我们的主要任务就是画出这个集合的边界——实际上边界是分形曲线 , 极其复杂,M集图象的全部魅力就在这里。 在复平面上 , 我们以原点 (0, 0) 作为参考点,观察迭代过程是否远离原点,以及逃 离原点的速度如何。为此规定一个距离函数 D=x^2+y^2 , 其实 D有许多不同的取法 , 以上取法是最普通的。 可以看出 , 如果 D较大 , 表 明迭代 点离原点较远 , 如果 D 较小,表明迭代点离原点较近。假设对于任何一个 c, 迭代都从 x_0, y_ 0) =(0, 0 ) 开始 , 我们观察迭代点列 x_1,y_1) ,(x_2,y_2),( x_3 , y_3),,( x_( 100),y_ (10 0)) , 的变化状况。每一次都计算一下 D值,即该点与原点 (0 , 0) 的距离 ( 为方便计,这 里 实际上计算的是距离的平方 ) 。取一个参考距离 R,不妨取得大一些 , 比如 R=40( 实 际上取2 0 就足够了 ) 。现在想知道迭代多少次后实际的距离 D大于 R 。在迭代过程中 如果 D小于 R,则继续让计算机迭代 , 要规定一个上限, 比如 300次。如果迭代了 300 次后结果仍然不跑掉 ( 即 D 仍然小于 R ), 则可以近 似认为此点属于 集合。 M 对于迭代次数小于 300 次的情况 , 如果迭代 10 次 D就大于 R, 则标记 c 点为白色 ; 如果迭代 35 次 D 开始大于 R ,则标记 c 点为红色;如果迭代 110 次 开始大于 R , D 则标记 c 点为蓝色,等等。 2. 编写程序生成 Juli a集 一个M集可以对应无数种 J 集, 实际上 M集就是所有 J 集的浓缩 。M集不同部位 的形状 , 反映了对应于该处的 J 集的形状, 于是用 M集 可以对 J 集进行分类, 至少在计 算机图形学的层次上可以这样说。 计算 J 集时,初始迭代点就不能总取 ( 0, 0 ) 了,而是要根据实际位置取实际的 (x  , 坐标值。仍以迭代 z→z^2 +c 为例说明。先取 定一个 c 值, 比如 c=(1.02 2 1,0.2433), 迭代关系化为 x→x^2 -y^2+1.0 2 21,y →2xy+0.243 3 . 从屏幕左上角算起 , 逐行计算 , 一直算到屏幕右下角。 当然,也可以不取整个屏幕那么大,只选一个2 00× 200 的小区域做。 标色的原理与上面讲  M集合时完全类似  , 此略。

文档评论(0)

153****8736 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档