130 likes | 366 Views
第 5 章. 逃逸时间算法. 5.3 Mandelbrot 集的逃逸时间算法 5.4 基于牛顿迭代的 Julia 集的逃逸时间算法. 5.1 基本思想 5.2 Julia 集的逃逸时间算法. 逃逸时间算法的基本思想. 5.1. F(z)=z 2 +c 当 c=0 时,由于 z 是复数,即 z=x+yi ,则有 z 2 =z×z=(x+yi) ×(x+yi)=x 2 +y 2 i 2 +2xyi=(x 2 -y 2 )+(2xy)i 设复数 z=x+yi 的绝对值,即 |z|= SQR(x 2 +y 2 )
E N D
第 5章 逃逸时间算法 5.3 Mandelbrot集的逃逸时间算法 5.4 基于牛顿迭代的Julia集的逃逸时间算法 5.1 基本思想 5.2 Julia集的逃逸时间算法 参考书:《分形算法与程序设计》
逃逸时间算法的基本思想 5.1 F(z)=z2+c 当c=0时,由于z是复数,即z=x+yi,则有 z2=z×z=(x+yi) ×(x+yi)=x2+y2i2+2xyi=(x2-y2)+(2xy)i 设复数z=x+yi的绝对值,即 |z|= SQR(x2+y2) |F(z0)|=|x02-y02+2x0y0i| =SQR((x02-y02)2+(2x0y0)2) =SQR(x04+y04-2x02y02+4x02y02) =SQR((x02+y02)2) =|z0|2 若0<|z0|<1, |F(z0)|<|z0|,对于每一次迭代z趋向0,即z向0收敛。 若|z0|>1, 经过迭代z会趋向无穷, z向无穷逃逸。 若|z0|>1,z是平面上的单位圆。 参考书:《分形算法与程序设计》
逃逸时间算法的基本思想 5.1 当c≠0时,其吸引子不再是0,而是一个区域,称混沌区。如图,假设有一个充分大的整数N,当未逃逸区域M中的初始点a经过小于N次迭代就达到未逃逸区域M的边界,甚至超出了边界,我们就认为点a逃逸出去了;而如果经过N次迭代后a的轨迹仍未到达M的边界,我们就认为,a是A上的点。用这样的方法,描绘出A的边界图形,这便是逃逸时间算法的基本思想。 参考书:《分形算法与程序设计》
Julia集的逃逸时间算法 5.2 参考书:《分形算法与程序设计》
Julia集的逃逸时间算法 5.2 参考书:《分形算法与程序设计》
Julia集的逃逸时间算法 5.2 参考书:《分形算法与程序设计》
Mandelbrot集的逃逸时间算法 5.3 参考书:《分形算法与程序设计》
Mandelbrot集的逃逸时间算法 5.3 参考书:《分形算法与程序设计》
基于牛顿迭代的Julia集的逃逸时间算法 5.4 牛顿迭代法求根公式: zn+1=zn-f(zn)/f’(zn) 其中,f’(zn)是f(zn)的导数。 考虑f(z)=z3-1=0的情况,那么相应的牛顿变换是 f(z)=(2z3+1)/3z2 则z的三个根分别是w1=1,w2=ei2π/3,w3=ei4π/3,三个根的吸引域A(w1),A(w2),A(w3)的交界便是牛顿函数的Julia集。经过迭代,在A(wi)上的点都会被吸引到点wi上。设一个较大的迭代次数N,以及一个距离小量r,当迭代次数达到N,其与根点的距离小于r的被认为是收敛到某根上了,否则被认为是逃逸了。 参考书:《分形算法与程序设计》
基于牛顿迭代的Julia集的逃逸时间算法 5.4 参考书:《分形算法与程序设计》
基于牛顿迭代的Julia集的逃逸时间算法 5.4 参考书:《分形算法与程序设计》