Mandelbrot分形.
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Mandelbrot分形.
一个无限次迭代的规则如下:z=z^2+c,z的初始值为0,c是复平面上的复数,那么迭代3次的结果是
如果给c赋值-1+I,迭代6次的过程如下:
可以发现,当c=-1+I的时候,经过无限次迭代之后,迭代值会跑到无限远的地方。
一个自然而然的问题就出来了:哪一些复数c,在经过无限次迭代之后,不会跑到无限远的地方?下面多来试验几个例子。
当c=-I的时候,这个迭代是不会发散的,而是在-I,-1-I,I之间循环出现:
当c=-1/2-I/2,迭代30次
如果在迭代过程中,某一步的迭代值的模长大于2,那么这个迭代肯定是发散的,也就无须再继续往下计算了:
所以,当c=±1±I 的时候,迭代过程是发散的。
当c是大于0的实数的时候,基本上都是发散的,但是当c很接近于0的时候,发散速度很慢。
所以,基本上迭代20次还没有出现发散特征(模长>2),我们就把它视为"不发散"。
用Length求出20步迭代之内,迭代结果出现发散特征时的迭代次数:
如果没有发散特征,就会返回21:
把这个迭代过程,定义为rule - 意为迭代规则:
把这个迭代规则作用于复平面上 - 2 - 1.5 I 到 2 + 1.5 I 之间的矩形区域内的若干复数,以 0.5 为间隔:
我们用 ArrayPlot 把上面的数据转化为像素图:
如果用0 .1作为间隔,看看图形怎么样:
看来,间隔越小,像素图越细致,下面用一个互动效果,来演示一下:
Mandelbrot分形已经初具雏形。
改变一下着色方案:
如果改变一下迭代规则,会发生什么变化?。