第一篇博文献给分形

0、引子

作为一名同时热爱数学和计算机的极客来说,不玩玩分形是不可能的。 本篇博文(博客文章简称)对分形几何仅是浅尝辄止,关于高级作法及变形将会在以后的文中介绍。

1、分形

概括地说,具有某种自相似性质的点集就是分形。分形曾被认为是几何中的怪胎,后来建立了分形维数(即非整数阶维数或豪斯多夫维数)的概念,我们才更深刻地认识了它。 在经典几何中,分形的典型例子有:康托尔集谢尔宾斯基三角形地毯门格海绵龙形曲线空间填充曲线科赫曲线。这些例子的共性就是它们可以由某种迭代变换产生。它们简洁而又形象,但是却不利于建立解析模型,而利用复变知识则可以改善这一点。 在复分析中,可以通过非常简单的迭代来生成分形。比如朱利亚集($J$)就是通过变换${{f}_{c}}\left( z \right)={{z}^{2}}+c$产生的。实际上,对于给定的复数$c$来说,可以将朱利亚集表示为:

\[J=\left\{ z\ |\ \ \underset{n\to \infty }{\mathop{\sup }}\,\left| f_{c}^{n}\left( z \right) \right|<+\infty ,\ z\in \mathbb{C} \right\}\]

,其中$f_{c}^{n}\left( z \right)={{f}_{c}}\left( f_{c}^{n-1}\left( z \right) \right)$。一个与朱利亚集关系密切的集合——曼德博集($M$),定义与朱利亚集非常相似:

\[M=\left\{ c\ |\ \ \underset{n\to \infty }{\mathop{\sup }}\,\left| f_{c}^{n}\left( 0 \right) \right|<+\infty ,\ c\in \mathbb{C} \right\}\]

。同时,它们之前也有深刻的联系,比如,只有当$c\in M$时,$J$才非空。 上面的介绍,实际上恰好给计算机绘制分形图案提供了一个方法——将复平面上的点按发散或收敛速度定义颜色。构造分形有四种常见的方法,逃逸时间分形、迭代函数系统、随机分形、奇异吸引子。这里介绍的方法属于逃逸时间分形方法。下面是一些朱利亚集的一些例子。

2、数学+计算机→艺术

2.1、找到合适的$c$及本色方案

说明:下面的动态演示,需要您的电脑上安装Mathematica或CDF Player。
您可以通过按小球来给$c$赋值,也选择迭代次数或本色方案。
这样您可以快速找出想的$c$以及其它参数

点此查看CDF动态演示 >>

下载此CDF文件>>

2.2、绘图代码
    c = -0.13 - 0.81 I;
    x0 = 1.4;(*定义水平宽度的一半*)
    y0 = 1.3;(*定义垂直高度的一半*)
    st = 0.01;(*定义步长*)
    fg1[z_, c_] := Module[{z0 = z^2 + c, dt = (1 + Sqrt[1 + 4 Abs[c]])/2}, 
    For[k = 1, k <= 15, k++, 
        If[Abs[z0] > dt, z0 = 1; Break[];, z0 = z0^2 + c;]; ]; 
        If[Abs[z0] > 1, 1, Abs[z0]]
    ]; (*定义迭代函数*)
        ArrayPlot[Table[fg1[x + I y, c], {y, -y0, y0, st}, {x, -x0, x0, st}], ImageSize -> Floor[2 x0/st], Frame -> None, ColorFunction -> "Rainbow"](*绘图*)

下载此nb文件>>

2.3、一些漂亮的例子

c0.285-GreenPinkTones

单击图片可看大图分形图案 c-0.08-0.71i-k45 c-0.13+0.8i-k15 c-0.13+0.8i-k25 c-0.69+0.13i-k15 c-0.69+0.13i-k39 c-0.71-0.1i-k25 c-0.71-0.1i-k45 c-0.71-0.36i-k15 分形图案

About the Author

野鹤

自由学者,爱好广泛,虽无一精通,却常乐在其中...

本博客已停止更新,请您移步到我的新博客阅读更多文章。