for循环小实例--for循环与Mandelbrot

Mandelbrot集?应该算数学的范畴吧...

要是在早那么点点时间的话说不清我会感兴趣...

不过还是了解一下下吧...

哪位好心人能说说这东西是干什么的?

 

*

Mandelbrot集

  曼德布洛特集合(Mandelbrot set)是在复平面上组成分形的点的集合。Mandelbrot集合可以用复二次多项式f(z)=z^2+c来定义。
  其中c是一个复参数。对于每一个c,从z=0开始对f(z)进行迭代
  序列 (0, f(0), f(f(0)), f(f(f(0))), .......)的值或者延伸到无限大,或者只停留在有限半径的圆盘内。
  曼德布洛特集合就是使以上序列不延伸至无限大的所有c点的集合。
  从数学上来讲,曼德布洛特集合是一个复数的集合。一个给定的复数c或者属于曼德布洛特集合M,或者不是。
  计算的方法

  曼德布洛特集合一般用计算机程序计算。对于大多数的分形软件,例如Ultra fractal,内部已经有了比较成熟的例子。下面的程序是一段伪代码,表达了曼德布洛特集合的计算思路。

 

  For Each z0 in Complex
  repeats = 0
  z=z0
  Do
  z=z^2+z0
  repeate = repeats+1
  Loop until abs(z)>Bailout or repeats >= MaxRepeats
  If repeats >= MaxRepeats Then
  Draw z0,Black
  Else
  Draw z0,f(z,z0,Repeats) 'f返回颜色
  End If
  Next
  ---------------------

  Mandelbrot 图像C#源代码

Code

 


posted @ 2009-04-14 20:17  Vanglen  阅读(345)  评论(0编辑  收藏  举报