计算机图形学 分形图的生成936

合集下载

分形图形的形成

分形图形的形成

实验课题:(六)分形图的生成
1. 用Matlab 编程,画出Cantor 三分集的图形。

2. 画出按下列各图所示方法生成的分形的图形,并计算出其自相似维数。

你自己构造出一些生成元,并由此绘出相应的分形图形。

3. Weierstrass 函数的定义是:
∑∞=-=1)2()sin()(k k k s x x W λλ
,1>λ,21<<s
试对不同的s 值,画出函数的图象,并观察图象的不规则性与s 的关系,。

4. 画出Levy 曲线的图象。

试着改变IFS 迭代中仿射变换的系数和概率的值,看看能否生成一些新的分形图。

5. 自己编写程序,画出Mandelbrot 集的图形。

然后任意选取它的一个局部将其放大,观察放大后的图形与原图形之间的关系。

6. Julia 集和Mandelbrot 集可以推广到高阶情形,即考虑下列n 次复变函数迭代:
c Z Z n k k +=+1, ,2,1,0=k
对固定的c ,使得上述迭代有界的初值0Z 构成的集合称为n 阶Julia 集;对固定的初值0Z ,使得上述迭代有界的参数c 构成的集合称为n 阶Mandelbrot 集。

对不同的n ,画出相应的Julia 集和Mandelbrot 集。

进而构造一些不同的迭代函数,如余弦函数z z f cos )(=和牛顿函数233/)12()(z z z f +=,画出类似的Julia 集和Mandelbrot 集。

生成元 初始元 生成元
初始元。

计算机图形学 分形图的生成

计算机图形学  分形图的生成

实验六分形图的生成班级 08信计学号60姓名杨平萍分数一、实验目的和要求:1、掌握分形基本原理2、熟悉分形的计算机模拟算法3、上机操作迭代函数系统算法4、编译并执行谢宾斯基(Sierpinski)三角形二、实验内容:1、编程实现分形的迭代函数系统算法,并输出图形;2、编译曼德布洛特集和可放大的曼德布洛特集。

.三、编程并实现Mandelbrot Set (曼德布洛特集)的运行程序:#include <graphics.h>#include <conio.h>struct COMPLEX{double re;double im;};COMPLEX operator * (COMPLEX a, COMPLEX b){COMPLEX c;c.re = a.re * b.re - a.im * b.im;c.im = a.im * b.re + a.re * b.im;return c;}COMPLEX operator + (COMPLEX a, COMPLEX b){COMPLEX c;c.re = a.re + b.re;c.im = a.im + b.im;return c;}void main(){initgraph(640, 480);COMPLEX z, c;int x, y, k; // 定义循环变量for(x = 0; x < 640; x++){c.re = -2.1 + (1.1 - -2.1) * (x / 640.0);for(y = 0; y < 480; y++){c.im = -1.2 + (1.2 - -1.2) * (y / 480.0);z.re = z.im = 0;for(k = 0; k < 180; k++){if ( z.re * z.re + z.im * z.im > 4.0 ) break;z = z * z + c;}putpixel(x, y, (k >= 180) ? 0 : HSLtoRGB((float)((k << 5) % 360), 1.0, 0.5));}}getch();closegraph();}程序截图可以无穷放大的Mandelbrot Set (曼德布洛特集)的运行程序:#include <graphics.h>#include <conio.h>#define ITERATIONS 1000#define MAXCOLOR 64struct COMPLEX{double re;double im;};COMPLEX operator * (COMPLEX a, COMPLEX b){COMPLEX c;c.re = a.re * b.re - a.im * b.im;c.im = a.im * b.re + a.re * b.im;return c;}COMPLEX operator + (COMPLEX a, COMPLEX b){COMPLEX c;c.re = a.re + b.re;c.im = a.im + b.im;return c;}int Color[MAXCOLOR];void InitColor(){int h1 = 240, h2 = 30;for(int i=0; i<MAXCOLOR/2; i++){Color[i] = HSLtoRGB((float)h1, 1.0f, i * 2.0f / MAXCOLOR);Color[MAXCOLOR-1-i] = HSLtoRGB((float)h2, 1.0f, i * 2.0f / MAXCOLOR);}}void Draw(double fromx, double fromy, double tox, double toy){COMPLEX z, c;int x, y, k;for(x = 0; x < 640; x++){c.re = fromx + (tox - fromx) * (x / 640.0);for(y = 0; y < 480; y++){c.im = fromy + (toy - fromy) * (y / 480.0);z.re = z.im = 0;for(k = 0; k < ITERATIONS; k++){if ( z.re * z.re + z.im * z.im > 4.0 ) break;z = z * z + c;}putpixel(x, y, (k >= ITERATIONS) ? 0 : Color[k % MAXCOLOR]);}}}void main(){initgraph(640, 480);InitColor();double fromx, fromy, tox, toy;fromx = -2.1; tox = 1.1;fromy = -1.2; toy = 1.2;Draw(fromx, fromy, tox, toy);MOUSEMSG m;bool isLDown = false;int selfx, selfy, seltx, selty;while(!kbhit()){m = GetMouseMsg();switch(m.uMsg){case WM_MBUTTONUP:fromx = -2.1; tox = 1.1;fromy = -1.2; toy = 1.2;Draw(fromx, fromy, tox, toy);break;case WM_MOUSEMOVE:if (isLDown){rectangle(selfx, selfy, seltx, selty);seltx = m.x;selty = m.y;rectangle(selfx, selfy, seltx, selty);}break;case WM_LBUTTONDOWN:setcolor(WHITE);setwritemode(R2_XORPEN);isLDown = true;selfx = seltx = m.x;selfy = selty = m.y;rectangle(selfx, selfy, seltx, selty);break;case WM_LBUTTONUP:rectangle(selfx, selfy, seltx, selty);setwritemode(R2_COPYPEN);isLDown = false;seltx = m.x;selty = m.y;if (selfx == seltx || selfy == selty) break;int tmp;if (selfx > seltx) {tmp = selfx; selfx = seltx; seltx = tmp;}if (selfy > selty) {tmp = selfy; selfy = selty; selty = tmp;}if ( (seltx - selfx) * 0.75 < (selty - selfy) ){selty += (3 - (selty - selfy) % 3);selfx -= (selty - selfy) / 3 * 4 / 2 - (seltx - selfx) / 2;seltx = selfx + (selty - selfy) / 3 * 4;}else{seltx += (4 - (seltx - selfx) % 4);selfy -= (seltx - selfx) * 3 / 4 / 2 - (selty - selfy ) / 2;selty = selfy + (seltx - selfx ) * 3 / 4;}double f, t;f = fromx + (tox - fromx) * selfx / 640;t = fromx + (tox - fromx) * seltx / 640;fromx = f;tox = t;f = fromy + (toy - fromy) * selfy / 480;t = fromy + (toy - fromy) * selty / 480;fromy = f;toy = t;Draw(fromx, fromy, tox, toy);break;}}getch();closegraph();}程序截图:四、实验结果分析分形的对称性即表现了传统几何的上下、左右及中心对称。

计算机图形学课件第五章三维图形生成和变换技术

计算机图形学课件第五章三维图形生成和变换技术
p03 3*3次的特 征曲面网格 p02 p13 p23 p33 p32 p21 p20
p12
p22
p01
p00
p11
p10
p31
p30
16
2、贝塞尔曲面的性质 Bezier曲面有类似于Bezier曲线的性质。 (l)端点位置 由于 P00=P(0,0) P0m=P(0,1) Pn0=P(1,0) Pnm=P(1,1) 说明P00、P0m、Pn0、Pnm是曲面P(u,v)的四个端点,见图 p33
21
其图形表示如图所示,可以证明它是一个双曲抛物面( 马鞍面)上的一块曲面片。
22
在上式中,当u=0和u=1时,得到的两条边界为直线段;
P (u, v ) = (1 u)(1 v ) P00 u(1 v ) P10 (1 u)vP01 uvP11 P (o, v ) (1 v ) P00 vP01 P (1, v ) = (1 v ) P10 vP11
5
5.2
一、概述
自由曲面的生成
在计算机出现之前以及在计算几何没有很好地发展 之前,一些工程实际中应用的复杂自由曲面,如飞机、 船舶、汽车等几何外形的描述以及地形形状的表示,传 统的处理办法是用一组或几组平行平面去裁这个曲面, 画出几组截交线来表示这个曲面。例如船体就是用互相 正交的三组平面截得的纵剖线,横剖线和水平线表示; 地面则是用一组水平面截得等高线表示的。这实际上是 把曲面问题转化成了曲线问题。这种处理办法可称为曲 线网格表示法。
r(ui , v j ) [ x(ui , v j ), y(ui , v j ), z(ui , v j )]
10
r(ui,vj)
r(ui,v)

计算机本科毕业论文PPT - 三维分形图生成算法的研究及程序实现

计算机本科毕业论文PPT - 三维分形图生成算法的研究及程序实现



2. 递归算法——生成三维图形
Visual C++环境下生成三维Sierpinski海绵及其变形的研究 1 离散的海绵 若在控制立方体生成的函数中将立方体边长统一减小, 则生成的小立方体会缩小,不能再连结起来,整个海 绵就呈离散状态。 2带锯齿的海绵 如果使生成立方体的某一个角向外延伸,不断循环后, 将会使某一侧面的许多角向外,呈锯齿状;如果凸出 较长,则呈尾巴状。 3彗星与流星 将离散的海绵与带锯齿的海绵结合, 可以生成拖着长长尾巴的彗星与流星图形。

ax 1 by 1 e x 1 ' ' ax 2 by 2 e x 2 ' ax by e 植物形态
相似变换与仿射变换 相似变换是指在各个方向上变换的比率必须相同的一种比例变换,仿 射变换是指在不同方向上变化的比率可以不同的一种比例变换。 二维仿射变换的数学表达式为:

x' ax by e x r1 cos1 r2 sin 2 x e : 或 r sin 2 y f 1 r2 cos y 1 y' cx dy f

迭代函数系统的基本思想为:在仿射变换的意义下,几何对象的局部 与整体具有自相似的结构。根据这种自相似性,从一个点或一个简单 的几何图形出发,按一定的规则迭代,一生二,二生三,三生万物, 直到生成一幅复杂的图像。最终得到的目标点集与初始点集无关,而 只取决于迭代的规则,即一组仿射变换的系数,这一图像生成系统称 为迭代函数系统。
3. IFS迭代算法——模拟三维植物形态
用拼贴法确定IFS码 利用IFS方法生成分形图的关键是找出图形所对应的IFS码。

分形图案的快速生成法

分形图案的快速生成法

分形图案的快速生成法
徐永安;陶海燕
【期刊名称】《南京理工大学学报(自然科学版)》
【年(卷),期】1996(000)004
【摘要】该文给出了经典Mandelbrot集合和Julia集合的概念,分析了常用的点点计算法的特征,在此基础上设计出快速的有限递归细分算法(finiterecursionsub-devide,简称FRS)。

利用这2种算法生成Mandelbrot放大集以及三角函数、指数函数、Gauss和函数、Newton解函数的Julia集合并进行比较,FRS法一般要比点点计算法快3~5倍,解决了微机生成分形图案时间太长的问题。

通过快速算法显示出分形图案的内部蕴涵的精妙结构。

【总页数】1页(P310)
【作者】徐永安;陶海燕
【作者单位】不详;不详
【正文语种】中文
【中图分类】TP391.41
【相关文献】
1.图像扫描波动性定量标准及分形扫描矩阵的快速生成 [J], 刘向东;段晓东;王光兴;朱伟勇
2.多重分形降趋波动分析法和移动平均法的分形谱算法对比分析∗ [J], 奚彩萍;张
淑宁;熊刚;赵惠昌
3.分形图案与传统纺织印花图案的形式美感对比 [J], 唐颖;房宽峻;沈雷
4.基于分形理论的羌族图案分析 [J], 杨小蕾;饶锦锋
5.分形艺术图案的美学特征探析 [J], 吴凡;王教庆
因版权原因,仅展示原文概要,查看原文内容请购买。

计算机本科毕业论文全文 - 三维分形图生成算法的研究及程序实现

计算机本科毕业论文全文 - 三维分形图生成算法的研究及程序实现

中文摘要本文主要研究三维分形图的生成技术。

首先探讨了原理简单的递归算法,该算法适于生成各种三维图形。

分析了二维与三维分形递归算法的主要步骤、部分实现代码并在此基础上生成了三维图和图的变形。

接着讨论了迭代函数系统(IFS)的原理及相关算法,分析了IFS码的获取方法以及各IFS码在图像生成中的地位和作用。

重点研究二维的IFS算法如何扩展到三维,介绍了生成三维植物分形图的算法思路和主要步骤。

最后还介绍了能逼真再现山和云等自然景物的随机中点位移算法和分形插值算法。

关键词:分形图形学,递归算法,IFS迭代函数系统,随机中点位移算法,分形插值算法。

ABSTRACTThis thesis does research on three-dimensional fractal graphics.At first, it probes into Recursion Arithmetic, which has very simple principle but is able to create all kinds of three-dimensional graphics. It analyses the main steps of two-dimensional and three-dimensional fractal Recursion Arithmetic, part of the program and some ameliorations of the graphics.Then it discusses the principle and the related arithmetic for Iteration Function System (IFS). It analyses the ways that how to get IFS codes and their status and function in fractal graphics. It pays attention to the research on how to make two-dimensional IFS Arithmetic expand to three-dimensional IFS Arithmetic. It introduces the arithmetic and main steps of creating three-dimensional foliage fractal graphics.At last, it introduces Stochastic Midpoint Displacement Arithmetic and Detached Data Input Arithmetic, which can simulate scenery very naturally.Keywords: Fractal graphics, Recursion Arithmetic, Iteration Function System (IFS), Stochastic Midpoint Displacement Arithmetic, Detached Data Input Arithmetic.目录1. 绪论1.1引言 (1)1.2分形图形学简介 (1)1.3研究意义 (3)1.4研究背景 (4)1.5本文工作 (5)2. 递归算法——生成三维图形2.1自相似性 (6)2.2递归原理 (6)2.3二维中Sierpinski地毯的递归算法 (7)2.4三维中Sierpinski海绵的递归算法 (8)2.5 Visual C++环境下生成三维Sierpinski海绵及其变形的研究 (11)3. IFS迭代算法——模拟三维植物形态3.1相似变换与仿射变换 (12)3.2用拼贴法确定IFS码 (13)3.3 二维IFS迭代算法得到植物形态 (15)3.4三维IFS迭代算法逼真模拟植物形态 (17)3.5 二维IFS迭代与三维IFS迭代的比较 (20)4. 其它三维分形算法——逼真再现山和云4.1随机中点位移算法实现三维分形 (20)4.2分形插值算法实现三维分形 (23)5.结论5.1工作总结 (26)5.2有待改进之处 (26)附录 (28)参考文献 (34)三维分形图生成算法的研究及程序实现1. 绪论1.1 引言事实上,无论从美学的观点还是从科学的观点,许多人在第一次见到分形时都有新的感受。

分形图形学

分形图形学

其实对分形的理解并没有那么神奇。可以说,虽然曼德布劳特硬是制造了分形(fractal)这个名词,是个新鲜的事情,但是,分形所反映的内容本身,其苗头确实古已有之。如前所叙述的那样,分形的重要来源,是数学上的思考,属于科学研究的产物,常常是某种离散动力系统参数分布的图示。因为表现这种参数分布须借助计算机的计算和处理;而作为处理的结果,这类图示观看起来是那么的漂亮、琢磨下去又是那么的含蓄,于是它的影响远远超出了数学的领域。分形不仅引起科学家们的注意,而且在艺术界造成了轰动。社会学家从人文的角度,分析与演绎分形的哲理;艺术大师们,以审美的观点,推崇与渲染分形的艺术特征…。
参考文献:分形理论在计算机图形学中的应用
人们谈论分形,常常有两种含义。其一,它的实际背景是什么?其二,它的确切定义是什么?数学家研究分形,是力图以数学方法,模拟自然界存在的、及科学研究中出现的那些看似无规律的各种现象。在过去的几十年里,分形在物理学、材料科学、地质勘探、乃至股价的预测等方面都得到了广泛的应用或密切的注意,并且由于分形的引入,使得一些学科焕发了新的活力。数学上所说的分形,是抽象的。而人们认为是分形的那些自然界的具体对象,并不是数学家所说的分形,而是不同层次近似。
几乎在曼德布劳特获得Barnard奖章的同时,以德国布来梅大学的数学家和计算机专家H.Peotgen与P.Richter等为代表,在当时最先进的计算机图形工作站上制作了大量的分形图案;J. Hubbard等人还完成了一部名为《混沌》的计算机动画。接着,印刷着分形的画册、挂历、明信片、甚至T恤衫纷纷出笼。80年代中期开始,首先在西方发达国家,接着在中国,分形逐渐成为脍炙人口的词汇,甚至连十几岁的儿童也迷上了计算机上的分形游戏。我国北京的北方工业大学计算机图形学小组于1992年完成了一部计算机动画电影《相似》,这部电影集中介绍了分形图形的相似性,这也是我国采用计算机数字技术完成的第一部电影,获得当年电影电视部颁发的科技进步奖。

数学的分形几何

数学的分形几何

数学的分形几何分形几何是一门独特而迷人的数学领域,它研究的是自相似的结构和形态。

分形几何的概念由波蒂亚·曼德博(Benoit Mandelbrot)在1975年首次提出,之后得到了广泛应用和发展。

本文将介绍分形几何的基本概念和应用领域,旨在帮助读者更好地了解这一令人着迷的学科。

一、分形几何的基本概念分形(fractal)是一种非几何形状,具有自相似的特点。

简单来说,分形就是在各个尺度上都具有相似性的图形。

与传统的几何图形相比,分形图形更加复杂、细致,其形状常常无法用传统的几何方法进行描述。

分形几何的基本概念包括分形维度、分形特征和分形生成等。

1. 分形维度分形维度是分形几何中的重要概念之一。

传统的几何图形维度一般为整数,如直线的维度为1,平面的维度为2,而分形图形的维度可以是非整数。

分形维度能够描述分形的复杂程度和空间占据情况,是衡量分形图形特性的重要指标。

2. 分形特征分形几何的分形特征是指分形图形所具有的一些独特性质。

其中最著名的就是自相似性,即分形图形在不同尺度上具有相似的形态和结构。

此外,分形图形还具有无限的细节,无论放大多少倍都能够找到相似的结构。

3. 分形生成分形图形的生成是分形几何中的关键问题之一。

分形图形可以通过递归、迭代等方式进行生成,比如著名的分形集合——曼德博集合就是通过迭代运算得到的。

分形生成的过程常常需要计算机的辅助,对于不同的分形形状,生成算法也有所不同。

二、分形几何的应用领域分形几何的独特性质使其在许多领域中得到广泛应用。

以下列举了几个典型的应用领域。

1. 自然科学分形几何在自然科学中有着广泛的应用。

例如,分形理论可以用来研究自然界中的地形、云雾形态等。

通过分形几何的方法,我们能够更好地理解和描述自然界的复杂性,揭示出隐藏在表面之下的规律。

2. 经济金融分形几何在经济金融领域也有着重要的应用。

金融市场的价格走势往往具有分形特征,通过分形几何的方法可以更好地预测未来的市场走势和波动。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验六分形图的生成
班级08信计二学号52 姓名刘丽杰分数
一、实验目的和要求:
1、掌握分形基本原理,熟悉分形的计算机模拟算法。

2、学习调试程序及分析运行结果。

3、上机操作迭代函数系统算法。

二、实验内容:
1、编程实现分形的贝塞尔算法,并输出图形。

2、编程实现一棵树,先按某一方向画一条直线段,然后在此线段上找到一系列节点,在每一节点处向左右偏转60度各画一条分支。

节点位置和节点处所画分支的长度的比值各按0.618分割。

三、程序执行和运行结果:
1、贝塞尔程序:
#include <graphics.h>
#include <conio.h>
#define WIDTH 640
#define HEIGHT 480
#define NUMPTS 6
HDC hdc;
float animpts[NUMPTS * 2];
float deltas[NUMPTS * 2];
void Init()
{
for (int i = 0; i < NUMPTS * 2; i += 2)
{
animpts[i ] = (float)rand() / RAND_MAX * WIDTH;
animpts[i + 1] = (float)rand() / RAND_MAX * HEIGHT;
deltas[i ] = (float)rand() / RAND_MAX * 4 + 2;
deltas[i + 1] = (float)rand() / RAND_MAX * 4 + 2;
if (animpts[i ] > WIDTH / 6.0f) deltas[i ] = -deltas[i ];
if (animpts[i + 1] > HEIGHT / 6.0f) deltas[i + 1] = -deltas[i + 1];
}
}
void Animate(float pts[], float deltas[], int index, int limit)
{
float newpt = pts[index] + deltas[index];
if (newpt <= 0)
{
newpt = -newpt;
deltas[index] = (float)rand() / RAND_MAX * 3 + 2;
}
else if (newpt >= (float)limit)
{
newpt = 2.0f * limit - newpt;
deltas[index] = -((float)rand() / RAND_MAX * 3 + 2);
}
pts[index] = newpt;
}
void Run()
{
int i;
for (i = 0; i < NUMPTS * 2; i += 2)
{
Animate(animpts, deltas, i , WIDTH);
Animate(animpts, deltas, i + 1, HEIGHT);
}
float* ctrlpts = animpts;
int len = NUMPTS * 2;
float prevx = ctrlpts[len - 2];
float prevy = ctrlpts[len - 1];
float curx = ctrlpts[0];
float cury = ctrlpts[1];
float midx = (curx + prevx) / 2.0f;
float midy = (cury + prevy) / 2.0f;
MoveToEx(hdc, (int)midx, (int)midy, NULL);
for (i = 2; i <= len; i += 2)
{
float x1 = (midx + curx) / 2.0f;
float y1 = (midy + cury) / 2.0f;
prevx = curx;
prevy = cury;
if (i < len)
{
curx = ctrlpts[i ];
cury = ctrlpts[i + 1];
}
else
{
curx = ctrlpts[0];
cury = ctrlpts[1];
}
midx = (curx + prevx) / 2.0f;
midy = (cury + prevy) / 2.0f;
float x2 = (prevx + midx) / 2.0f;
float y2 = (prevy + midy) / 2.0f;
POINT param[] = {(int)x1, (int)y1, (int)x2, (int)y2, (int)midx, (int)midy};
PolyBezierTo(hdc, param, 3);
}
}
void main()
{
initgraph(WIDTH, HEIGHT);
hdc = GetImageHDC();
Init();
BeginBatchDraw();
while (!kbhit())
{
cleardevice();
Run();
FlushBatchDraw();
Sleep(15);
}
EndBatchDraw();
getch();
closegraph();
}
运行结果:
2、程序:
#define g 0.618
#define PAI 3.1416
#include”graphics.h”
#include”math.h”
#include”stdio.h”
#include”conio.h”
float thita=6.0;
void grow(int x,int y,float lenth,float fai)
{
int x1,y1;
int nx,ny,count;
float nlenth;
x1=x+lenth*cos(fai*PAI/180.0);
y1=y-lenth*sin(fai*PAI/180.0);
line(x,y,x1,y1);
if(lenth<10)
return;
nlenth=lenth;
nx=x;
ny=y;
for(count=0;count<7;count++)
{
nx=nx+nlenth*(1-g)*cos(fai*PAI/180.0);
ny=ny-nlenth*(1-g)*sin(fai*PAI/180.0);
grow(nx,ny,nlenth*(1-g),fai+thita);
grow(nx,ny,nlenth*(1-g),fai-thita);
nlenth*=g;
}
}
void main()
{
int gm,gd;
detectgraph(&gd,&gm);
initgraph(&gd,&gm,””);
grow(300,300,280.0,90.0);
getch();
closegraph();
}
运行结果:
四、实验结果分析:
分形的对称性即表现了传统几何的上下、左右及中心对称。

同时它的自相似性又揭示了一种新的对称性,即画面的局部与更大范围的局部的对称,或说局部与整体的对称。

它是大小比例的对称,即系统中的每一元素都反映和含有整个系统的性质和信息。

从数学上来讲,曼德布洛特集合是一个复数的集合。

曼德布洛特集合就是使以上序列不延伸至无限大的所有c点的集合。

.Mandelbrot 集合图形的边界处,具有无限复杂和精细的结构。

如果计算机的精度是不受限制的话,可以无限地放大她的边界。

当放大某个区域,它的结构就在变化,展现出新的结构元素。

这正如前面提到的"蜿蜒曲折的一段海岸线",无论怎样放大它的局部,它总是曲折而不光滑,即连续不可微。

如果把所有不同的Julia 集重合起来,我们将会得到一个四维图形,它的其中两个维度是不同的初始值z 构成的复平面,另外两个维度则是不同的常数 c 构成的复平面。

这个四维空间就包含了所有不同的初始值在所有不同的常数 c 之下迭代的发散情况。

而Mandelbrot 集,则是这个四维图形在c = 0 处的一个切片,并且是最具有概括力的一个切片。

因此,我们相当于有了Mandelbrot 集的一个四维扩展,从这个四维图形中,我们可以切出很多二维的或者三维的切片,得到更多惊人而漂亮的图形。

相关文档
最新文档