您的位置:首页 > 理论基础

分形与计算机图形学

2017-08-21 21:54 218 查看

引言

使用CAD软件绘制的计算机图形很擅长用基本图形来表现人造物,如二维平面中线条、矩形、多边形以及曲线,又或三维空间中的体和曲面。而这些几何图形和用于绘制图形的常用工具常在表示大自然中的大多数物体(如云、树木、静脉、波浪和泥浆……)时被证明是不足够的。最近混沌理论和分形几何大兴,因为我们发现世界上许多过程可以用这个理论来更准确地描述。计算机图形产业正在快速结合这些技术,并产生了令人惊叹的美丽图像以及逼真的自然景观结构

在下文中,将给出一些更常用的技术的描述以及每个技术的示例。我们应该认识到,示例通常由一个具有大而不是无穷大变化的图像产生,而这些变化取决于参数、比例和观察方位的设定。

混沌系统

图1:



图1中,经典Mandelbrot图像大大推广了混沌和分形体系。Mandelbrot集被一种通用技术创造出来,其函数形式:



用于创建一系列复杂的变量。 至于Mandelbrot集,函数是:



该系列是针对复平面某些分区上的每个初始点zo生成的。 要在计算机屏幕上绘制图像,所考虑的点根据其系列的行为进行着色,该行为将采用以下方式之一:

衰减到0;

趋于无穷;

在若干状态的振荡;

没有明显的图案。

在图1中,情况1发生在内部,2在外部,3和4在边界附近。 该集合的边界表现出无限的细节和变化(边界不会出现平滑,无论缩放因子如何),以及自相似性。

使用相同技术但不同函数的例子被CA Pickover称为生物态。其使用函数:



并根据常数c的值产生许多生物学生物,参见图2。

图2:



另一个产生银河系漩涡效果的例子是使用以下函数得到的。



图3显示函数的部分以



图3:



奇异吸引子

被称为“hopalong”的第二项技术常用来代表混沌系统的奇异吸引子,例如知名的Julia集。在这种情况下,由系列产生的每个坐标被绘制为一个小点,即:我们从一个点跳到另一个点。对于平面上的图像,该系列是一个复变量的方程,否则有两个相互关联的方程,

一个关于x坐标的和一个关于y坐标的。如下面这个例子:



该系列的x,y坐标由初始点x0,y0和三个常数a,b和c指定。As an example see figure 4 where a=0.4, b=1, and c=0.

图4:



有趣的是,对于奇异吸引子来讲,初始点并不重要(除了一些特殊情况),即:所有初始坐标x0,y0都产生相同的图像。 换句话说,这些图像就是在显示由系列产生的x,y对,任何初始点都将生成相同的点集合,尽管它们将以不同的顺序生成

另一个例子是Peter de Jong使用两个方程:



这里产生出现三维的旋转卷须,如图5所示,其中a = -2.23,b = -0.65,c = 0.43,d = -2.43。

图5:



牛顿迭代法

这项技术是基于牛顿-拉夫逊方法求解多项式方程



该方法生成一个系列,其给出第n + 1个近似解通过



其中f’(zn)等于zn处计算的f(z)的斜率(一阶导数)。

要使用这种技术创建一个2D图像,平面的分区中的每个点都被用作解的初始猜测z0。这些点根据求的解或与解相距多长来着色。一个简单的例子就是上面的一个应用,找到多项式z3 - 1 = 0的三个根。

图6:



图6显示了复平面的实象和虚象的一小部分图像。混沌系统的标志是非常相似的初始条件可能会产生非常不同的行为。在图示中有一些非常接近的点,有的非常快地收敛到解,而另一些非常缓慢地收敛。

扩散限制凝聚

许多迷人的图像通过应用化学和物理学领域的理论而产生。举个例子,扩散限制聚集或DLA,其特别描述了电解溶液中锌离子在电极上的扩散和聚集。另一种更加有意思的描述则涉及一个被小酒馆包围的城市广场。醉酒者离开酒馆,在广场周围游荡,直到他们终于找到了一个没有意义的同伴,在那时候,他们躺下睡着了,传来平静的打鼾声。卷状结构是早晨睡觉人群的鸟瞰图,见图7。

图7:



L-系统

最近对Lindemayer(简称L-Systems)重新有了兴趣。其是一组字符串重写规则, 它采用称为“axiom”的初始字符串,并且在每次迭代中,用被称为演变规则的其他字符串替换字符串中的每个字符。例如,考虑公理字符串:F + F + F + F和单个演变规则F - > F + F-F-FF + F + F-F

现在,如果给予一些字符几何意义,那么我们可以绘制字符串了。 将这些几何含义应用于例子的公理、演变规则,经过几次迭代产生的字符串,就是公知的Koch曲线,其分形维数在1和2之间。演变规则可以指定经典分形曲线的全部范围(例如van Koch雪花,空间填充曲线,如希尔伯特和Peano曲线,龙曲线以及kolam图案)。

最近,L-Systems的用途是为了绘制在自然界中实际存在的对象,特别是植物的分支结构。图8中显示了从L-Systems生成的植物结构的三个实例。

图8:



L-Systems的重要特征之一是只需要少量的信息来表示非常复杂的对象。因此,图8中的灌木丛 虽然包含数千条线,但可能它们在数据库中仅通过几个字节的数据进行描述,实际的灌木仅在需要视觉呈现时生长。合理使用设计好的L-System算法,则可能设计出一个专门绘制植物类的L-System演变规则。

迭代函数系统

IFS不像在L-系统中使用线条,而是用发生器描述的其他多边形来代替多边形。在每次迭代中,每个多边形被发生器中的多边形适当缩放,旋转和翻译版本替代。

根据这个几何描述,我们也可能导出一个跳跃性的描述,其给出了将几何模型迭代为无穷大后绘制出的图像。事实上,这是平面上的一组收缩变换集合,每个具有分配概率则以下面的形式给出



为了运行系统,选择一个初始点,并且在每次迭代中,一个变换随机地依赖于所分配的概率,生成的点(xn,yn)被绘制在页面上。

在L-系统的情况下,如果可以确定所需图像的IFS代码(通过称为Collage定理),则可以实现大的数据压缩比。 代替存储非常复杂的几何对象,只需要存储IFS生成器,并在需要时生成图。

小结

上述大部分的真正应用是从我们所生活的世界模拟自然现象的尝试中发现的。许多数学技术作为创造惊人的图形图像以及非常自然的结构已经在计算机图形产业中找到了一个坚实的地位。 随着技术变得越来越标准化,并且发现了更多的应用领域,它们可能被纳入CAD、绘画和图像处理软件包中的标准工具之一。

Appeared in Interface Magazine, December 1990

Written by Paul Bourke

编译:Hewes

本文地址:http://paulbourke.net/papers/interface/
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息