分形几何在计算机图形学中的应用

分形几何在计算机图形学中的应用

1  引言

20 世纪70 年代,法国数学家Mandelbrot 创立了分形几何学,拼造了Fractal (分形) 这个新词,用来描述那些不规则而欧氏几何又无法描述的几何现象和物体。通过研究分形与自然的关系,向人们展示了分形广泛的存在于我们身边,用分形来描述树和山等复杂事物。

  目前,被誉为大自然的几何学的分形理论,已成为现代数学的一个新分支,但其本质却是一种新的世界观和方法论。它与动力系统的混沌理论交叉结合,相辅相成。它承认空间维数的变化既可以是离散的也可以是连续的,因而拓展了视野。分形技术提出后,在世界上引起了广泛重视,在数学、物理、化学、生物、经济学及计算机科学领域展开了分形理论、技术和应用的研究,逐渐发展并完善了分形理论体系。

  近年来,计算机图形学在蓬勃发展和广泛应用,传统的欧氏几何学为它提供了有力的数学模型,在描述一些抽象图形或人造物体的形态时是非常有力的。但是,随着对CAD 逼真程度要求的不断提高,特别是计算机图形学的一个重要分支———自然景物模拟的迅速发展,使得传统图形学越来越显得力不从心。将分形几何学引入到计算机图形学中,为非规整形状图形的计算机描述和处理提供了有利工具,成为目前研究世界物质模型的一个扩展。借助于分形的计算机生成,从少量的数据生成复杂的自然景物图形,使我们在仿

真模拟方面前进了一大步。

2  分形技术的理论基础

  分形以其独特的手段来解决整体与部分的关系问题,利用空间结构的对称性和自相似性,采用各种模拟真实图形的模型,使整个生成的景物呈现出细节的无穷回归的性质,丰富多彩,具有奇妙的艺术魅力。所生成的景物中,可以有结构性较强的树、山峰,也可以是结构性较弱的火、云及烟等。生成图形的关键是要有一个合适的模型来描述对象,根据所选择的分形造型的模型不同,产生分形图形的方法可分为如下4 类:

(1) 基于L - 系统的分形图形;

(2) 迭代函数系统IFS 方法;

(3) 粒子系统模型方法;

(4) 随机插值法。

  限于篇幅,本文只介绍常用的基于L - 系统的分形和迭代函数系统的分形方法。

2. 1  基于L - 系统的分形图形

L - 系统由美国植物学家Aristid Lindenmayer 于1968 年提出,是用形式语言描述植物形态与生长的拓扑结构,1984 年Smith 等人将其引入计算机图形学,形成了现在广为运用的模拟自然景物的L - 系统方法。理论上说,L - 系统可生成无限嵌套的结构,是特

别类型的迭代过程。它的中心是并行重写系统。从一个初始图ω出发根据重写规则集P 改写初始元的一部分,如此迭代嵌套以生成最终图形。用L - 系统可以生成典型的分形。尽管生成一个复杂的L - 系统常常需要花费大量的时间,但是指定L - 系统的公式往往非常简单。

  先定义如下的图形符号:

F :向前走一步,步长为d ,画线;

    f :向前走一步,步长为d ,不画线;

    + :向左(逆时针方向) δ;

    - :向右(顺时针方向) δ;

    [ :压栈;

    ] :出栈。

  图1 中的a 、b 和c 是采用如下的产生式生成的分形树,其中

(a) n = 5 , δ= 30°

ω: F

P : F F[ + F] F[ - F] F

(b) n = 5 , δ= 20°

ω: F

P : F F[ + F] F[ - F][ F]

(c) n = 4 , δ= 22. 5°

ω: F

P : F FF[ - F + F + F] + [ + F - F - F]

                   1  分支结构的分形树图例

 最初的一两次迭代,可能看不出会是什么样的图形,但是随着迭代次数的增加,图形复杂度也逐渐增加,也就很容易看清L - 系统所表示的分形模型。我们可以按照这种基本的方法来继续制作分形树。显然,迭代次数越多,得出的树就愈完美。

 除这种具有分支结构的L - 系统之外,还有参数L - 系统,随机L - 系统等类型,其基本想相同,只是采用了不同的绘图技巧,使用更灵活,图形更逼真。

2. 2  迭代函数系统IFS 方法

  该方法以迭代函数系统理论作为其数学基础。一个n 维空间的迭代函数系统由两部分组成,一是一个n 维空间到自身的线性映射(仿射变换) 的有穷集合M= { M1 , M2 , , Mn} ;二是一个概率集合P = { P1 , P2 , , Pn} 。每个Pi 是与Mi 相联系的, ΣPi = 1 。

通常记IFS 为:{ Mj , Pj : j = 1 ,2 , , n}

  迭代函数系统是以下述方式工作的:取空间中任一点Z0 , Pi 概率选取变换Mi , 作变换Z1 = Mi( Z0) , 再以Pi 概率选取变换Mi , 作变换Z2 = Mi( Z1) ,以此下去, 得到一个无数点集。该模型方法就是要选取合适的映射集合、概率集合及初始点,使得生成的点集能模拟某种景物。如果选取的仿射变换特征值的模小于1 ,则该系统有唯一的有界闭集,称为迭代函数系统的吸引子。点逼近吸引子的速度取决于特征值的大小。用随机迭代算法绘制分形图, 原理清楚,程序简单,省机时, 它可以得出吸引子集上的不变测度,根据这个不变测度,可以在分形集上着色而绘制出极其丰富多采的彩分形图。

  由概率论的遍历定理,对给定的一组概率的双曲IFS ,可以唯一决定在它的支撑集即分形吸引子A 上的一个不变测度。可以将迭代算法得到的分形集当成分形的轮廓,而不变测度是A 上的一个概率分布, 可以把它看成色彩的分布, 根据这个分布, A 着上各种不同的颜色,在计算机上运行将得到极其生动的图片。只要变换选取适当, IFS 方法不仅可以描述丛林、山川、云烟等,还可利用混沌图形,产生奇异图形效果。

  下面以著名的J ulia 集为例,通过分析其理论基础和生成算法,介绍IFS 方法生成图形的过程。

J ulia 集由一个二次复变函数的迭代生成,它来自于非线性映射X X2 + C , X 为复数的情形, Z表示,迭代过程写为:

Zn + 1 = Zn2 + C ( n = 0 ,1 ,2 , )

式中: Z C ———复数。

  给定复数Z0 作为初始值,从上式得Z1 ,继而Z2 ,Z3 , ,其中参数C 是控制参数中的一个关键,作为特例C = 0 的情形是简单的,这时有:

Z0 → Z0

    2 → Z0

    4 → Z0

8 → ⋯ar   

(1) 如果序列中的数按模越来越小, 且趋于零, 则说零是Z Z2 的吸引子。复平面上所有与该吸引子相距小于1 的点,都产生趋向吸引子的序列。

(2) 如果序列中的数按模越来越大, 且趋于无穷,这时认为无穷是Z Z2 的吸引子。复平面上所有与零点的距离超过1 的点,都产生趋向无穷的序列。

(3) 与原点相距为1 的点作为初值,产生的序列总出现在上面两个吸引区域之间的边界上, 此时边界恰为复平面上的单位圆周。

  当C ≠0 时,那么吸引子不再是零,吸引区域也不是简单的圆周,而是由无穷多个变形闭曲线组成,或为非连通的点集,具体形状取决于C 值的选取。

  对于上述的复迭代过程Z Z2 + C ,分离Z C的实部与虚部,:

Z = x + iy , C = p + iq

  相应地,k 个点Zk 意味着x y 平面上的点( x k ,yk) ,Zk Zk + 1的迭代过程为:

x k + 1 = x k

2 - yk

2 + p

yk + 1 = 2 x kyk + q

(1)

J ulia 集是将C 值固定,p q 保持为常数,Z 作为原始点通过迭代而生成。选定一个C ,就可以在复平面上生成一幅不同的计算机图形。这是由于C 值的不同, 迭代过程收敛于结果的速率不同, 而产生了形态各异的吸引区域边界曲线。

  设显示器分辨率是a ×b ,可显示的颜色为N + 1种,分别以0 , 1 , 2 , , N 表示, 且以0 表示黑色。同时,设最大迭代次数为N , 迭代结果x k yk 的模值不能超过M , 否则被认为是“无穷”, 迭代结束。下面是J ulia 集的生成算法步骤:

(1) 固定参数C p q 的值, 选定xmax 、xmin 、ymax 、ymin 、a b 及最大迭代步数N ,再选定一个较大的实数M ; (2) :Δx = ( x max - xmin) / ( a - 1)Δy = ( ymax - ymin) / ( b - 1)

  对所有的点( x , y) , x = 0 ,1 ,2 , , a - 1 及y = 0 ,1 ,2 , , b -1 完成下面的循环;

(3) : x 0 = x min + x·Δx

y0 = ymin + y·Δy

    k = 0 ;

(4) 由迭代公式(1) ( x k , yk ) 算出( x k + 1 , yk + 1) ,并使k = k + 1 ;

(5) 计算r = x k2 + yk2 ,

  若r > M ,则选择颜色k ,转至步骤(6) ,

  若k = N ,则选择颜色0 或其它某一特殊颜色,转至步骤(6) ,r M ,k < N ,则转至步骤(4) ;

(6) 对点( x , y) 显示颜色k ,并转至下一点,再从步骤(4) 开始循环。

3 分形图形的应用

 既然产生分形图形的函数是混沌的,那么,只要有轻微的改变,所产生的结果往往会大相径庭。在上例中,C 取不同值时, 可以得到不同图案的J ulia 集,改变颜色的设置使图形更加美丽。随着计算机图形图像处理功能的增强,人们能够直观地看到J ulia 集的精细结构。图2a~图2c 是作者在普通微机上改变C 值得到的几种结果。

      图2  Julia 集

J ulia 集是一个非常好的具有自相似特征的分形图形。仔细观察就会发现,图中许多部分都在其它地方重复出现。通过计算机的图形显示,可以了解到这些无限嵌套的精细内容,使分形之美充分的体现出来;而分形理论与方法也极大的丰富了计算机图形学的内容,二者可谓相辅相成。

  对迭代函数的不确定性进行分析,发现系统的参数对系统的性质影响很大,而参数的分布则导致异常复杂的分形结构。虽然分形的计算机生成方法有多种,但都可以找到控制其形状的参数,这是实现参数化的理论依据。

  分形图形层次丰富、内涵深刻,体现了各种类型的混沌和有序,并且只有用计算机才能产生出来,任何高明的画家均无法绘制。但是,由于分形的理论、建模与编程不为一般设计人员所熟悉,使其使用受到了很大限制,目前将计算机分形图形直接应用于设计行业的成果并不多。如果将分形图形计算机生成实现参数化设计,改变少量参数就能得到递归层次不同的相似图形,使之从抽象的理论研究进入到实际设计应用中,可以减少设计人员编制、调试绘图程序的时间,有力于推广分形技术的应用,具有可观的实用价值。

  众所周知,AutoCAD 是目前国内最为流行的微机绘图软件,成为大多数设计人员使用的工具。但它除了具有完善的绘图、编辑功能外,一个重要的功能是它可以和高级语言交换数据。从AutoCAD R13 版本推出以后,可以采用面向对象的程序设计语言VisualC ++ 开发的ARX 应用程序, 进行二次开发。笔者正在研究用这种方法实现的分形绘图软件,使分形图形与AutoCAD 相结合,成为AutoCAD 的一个新实体,扩充了AutoCAD 的绘图功能,运行该程序时,可进行交互输入、鼠标拖动,产生所需的图形,继而使用Auto2CAD 的工具进行编辑、修改,十分快捷方便,有望成为设计师的好助手,具有潜在的商业价值。尤其在当前,创意制作,平面设计,图案造型设计非常流行的时代,当设计师四处寻找艺术灵感,自感江郎才尽时,这些令人叹为观止的分形图案,定会使人耳目一新。而参数化技术使得使用者不必去考虑望而生畏的数学理论、计算机算法和程序。作为普通人,也可以创作出独具特色的艺术图形。可以肯定分形图案在自然界真实物体模拟、仿真形体生成、计算机动画、艺术装饰纹理、图案设计和创意制作等具有广泛的应用价值。

此外,用迭代函数系统来压缩图像信息量时,其压缩比可望达到1/ 500 以上,使分形几何学应用于生物、医学图像、卫星图像等各种图像信息提取和识别,以及电视和通讯中的图像处理和传输,也使分形走向了市场。因而形成了分形几何学与计算机图形学相结合的一个新的研究方向,已经从理论研究进入了应用研究阶段。

4  结束语

分形几何与计算机图形学相结合,必将给图学发展开辟一个崭新的领域。如J ulia 集由很简单的迭代函数生成,通过改变少量的参数,就能产生非常复杂的结果。近年来,分形的研究之所以受到非常广泛的重视,其原因在于分形既有深刻的理论意义,又有巨大的实用价值。分形向人们展示了一类具有标度不变对称性的新世界,吸引着人们寻求其中可能存在着的新规律和新特征;分形提供了描述自然形态的几何学方法,使得在计算机上可以从少量数据出发,对复杂的自然景物进行逼真的描述。它的反问题,从给定的自然景物图像提取少量的数据形成原来图像的代码,从而利用分形对信息作大幅度的数据压缩,也成为分形的一个重要的应用领域。

参考文献

[ 1 ]  齐东旭. 分形及其计算机生成[M]1 北京:科学出版社,19941

[ 2 ]  张济忠. 分形[M]1 清华大学出版社,1997.

[ 3 ]  苏晓红. 计算机艺术图形设计[J ]1 计算机工程与应用,1998 ,1 :34- 35.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

等天晴i

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值