You are on page 1of 7

几种基于分形思想的图像生成技术

几种基于分形思想的图像生成技术

陈倩 1 ,陈乃立 1 ,陈翀伟 2
(1. 浙江大学力学系,浙江 杭州 310027;2. 浙江大学化工系,浙江 杭州 310027)

摘要:以分形思想为基础,探索了三种基于一般 IFS 的计算机图像生成技术——即带概率的、带凝聚的和


带参数的 IFS。带概率的 IFS 中,n 个变换的频率各异,使各变换有主次之分,图像色彩有浓淡之差,更接
近真实;带凝聚的 IFS 包含两类不同变换:在某处的凝聚变换和在空间不同方向上的延伸变换;带参数的
IFS 在比例系数、旋转系数和位移系数中加入参数以控制 IFS 码,使图像不断地按既定构想变化以形成动画。
通过一系列实例说明了这三种方法对实现图像的“明暗虚实”
、“树木成林”及“动画”所起的作用。
关键词:分形;IFS;带概率;带凝聚;带参数
中图法分类号:TP391.41; TP751.1; J2-39 文献标识码:A

分形是用来研究大自然中极不规则、极不光滑的物体或现象的一种理论工具。随着其机
理逐渐为人们所认识,其应用也越来越广泛[1]。其中,分形技术在计算机图形领域的应用已
有了较大的发展。它以自相似性和分数维为特点,突破了以往只能生成较规则图形的局限性,
可将自然界中绝大多数的非规则图形,如树木、河流、山川等,真实地在计算机上再现。就
如同我们的国画,强调神似而非完全的写实,基于分形思想所创作的图像也并非完全酷似自
然界中的某个景物,但却给人以真实感和意境美。迭代函数系统(Iteration Function System,
简称 IFS)是将分形应用于计算机图像生成的一种成功方法[2,3]。本文将论述三种基于分形思
想的图像生成技术,并通过实践,表明这些技术对图像产生的“明暗虚实”、 “树木成林”以
及动画的效果。

1 基于一般 IFS 的图像生成

迭代函数系统的基本思想为:几何对象的整体与局部,在仿射变换的意义下,具有自相
似的结构。正是这种自相似性,使得用迭代方法生成图像成为可能。从一个点或一个简单的
几何图形出发,按照一定的规则反复迭代,一生二,二生三,三生万物,直到生成一幅复杂
的图像。最终得到的目标点集与初始点集无关,而只取决于迭代的规则,也就是一组仿射变
换的系数,这一图像生成系统称为迭代函数系统。其中,任一仿射变换可以写成以下形式:

 x  r cosθ 1 − r2 sin θ 2   x   e 
ω  =  1    +   ……………………………………………(1)
 y   r1 sin θ 1 r2 cosθ 2   y   f 
上式中,r1,r2 是比例系数,决定图形的缩小和放大;θ1、θ2 是旋转系数,决定图像的
旋转度大小。e、f 是位移系数,决定图像方位上的改变。r1、θ1、e 体现了 x 方向上的变化,
而 r2、θ2、f 则体现了 y 方向上的变化。图像生成的基本原理是:给定一个初始点坐标(x0,
y0),假设只有一个仿射变换ω,将(x0,y0)代入上式右边,可求得ω[x0,y0 ]T,即得到一
_______________________
收稿日期:2000—06—23
作者简介:陈倩(1975—)
,女,浙江杭州人,浙江大学力学系博士生,从事流体力学研究。

1
几种基于分形思想的图像生成技术

个新的坐标点(x1,y1),再由(x1,y1)根据上式求得(x2,y2),依次类推,迭代 N 次,
得到[xn+1,yn+1 ]T =ω[xn,yn]T 。可以证明,最后的点集收敛于一个 IFS 吸引子,即生成
一个确定的图像。多个仿射变换的情况与此类似。
在迭代函数系统中,起关键作用的变换系数又称为 IFS 码。因此,生成图像的效果如何
完全取决于 IFS 码是否合适。目前,已有两种基本方法[4]用于寻找 IFS 码。但在实际应用中,
往往会发现效果都不太理想。“失之毫厘、缪以千里”,十几个变换系数中,无论哪一个稍作
变化,都可能使最终图像面目全非。这对于我们寻找合适的 IFS 码,固然是一个困难所在,
但我们也可以利用这一特性,实现简单的动画生成。可见,分形技术应用于计算机图形学虽
还未达到完全实用的地步,但是,以一组 IFS 码来描绘一幅图像,这一崭新的思想仍给予我
们极大的启示,其发展潜力是无穷的。以下所述的三种图像生成技术,只不过是在一般 IFS
基础上的改进,但产生的效果却完全不同。

2 带概率的 IFS ----“明暗虚实”的实现

一个迭代函数系统通常包括几个仿射变换。若{X;ω1,ω2,……ωn}是一个 IFS,则它
n
包括 n 个仿射变换, ω2,
分别为ω1, 若使每一个ωi 都带有一个概率 Pi>0,且 ∑ Pi = 1 ,
……ωn。
i =1

Pi 可以根据公式或人的视觉要求来确定,这样就得到一个带概率的 IFS。它的含义是 n 个变
换的地位在一个 IFS 中各不相同,概率大的则变换频率高,所做的变换次数多;反之,则变
换频率低,变换次数少。反映在图像上,概率大的部分在整幅图中所占比例大,点较密集,
看上去色彩浓重;反之,在整体中所占比例小,点较疏散,色彩也淡。概率的加入使得各变
换有主次之分,生成的图像也更接近于真实。其实,通常要生成一幅真实的图像,变换时都
已经加入了概率。比如,一片蕨叶,可把它分为四个部分,如图 1(a)所示。显然,第一部分
的变换最为主要,在整幅图像中所占比例也最大,而第四部分的变换最为次要,另两部分居
中。所以概率设定时,分别为 P1= 0.75 ,P2= 0.12 ,P3= 0.12 ,P4= 0.01 。比较加入概率前
后的两幅图(见图 1(b)、(c)),可见,后者的真实感更胜于前者。

(a)整图分割示意图 (b)未加概率的分形图 (c)加概率后的分形图


图1 附加概率对蕨叶分形图的影响
Fig.1 The effect of additional probabilities on the fractal image of a brake leaf
有时,为了突出图像的意境美,比如说要烘托出一种“疏影横斜”的朦胧气氛[5],可以
将各变换概率略作修改。希望色彩较淡,即“虚”的部分可设定一个较小的概率;希望“实”

2
几种基于分形思想的图像生成技术

的部分则把概率加大。那么,整幅图的虚实明暗就完全在你掌握之中了。你可以发挥无穷的
想象和创造力,设计出意境完全不同的各种图像,参见图 2(a)、(b)、(c)、(d)、(e)、(f)。

(a)枝繁叶茂 (b) 春意盎然 (c) 秋风萧瑟

(d) 枯藤老树 (e) 疏影横斜 (f) 落英缤纷


图2 附加概率对树木分形图的影响
Fig.2 The effect of additional probabilities on the fractal image of a tree
对于较规则图案的设计,概率的加入也发挥了很大的作用。举个最简单的例子,一个正
方形可划分为四块(参见图 3(a)) ,把这四块分别进行一个变换,这样规则图案的 IFS 码非
常容易得到。若不设概率,最终得到的不过是一块填充正方形,但若根据需要对各块加入概
率,比如 P1=0.1, P2=0.2,P3=0.3,P4=0.4;或 P1=0.15, P2=0.35,P3=0.35,P4=0.15 等,
则可得到带不同纹理的木地板(见图 3(b)、(c)、(d)) 。

(a) (b) (c) (d)


正方形分割示意图 P1=0.1, P2=0.2, P1=0.15, P2=0.35 P1=0.15, P2=0.35
P3=0.3, P4=0.4 P3=0.15, P4=0.35 P3=0.35, P4=0.15
时的分形图 时的分形图 时的分形图
图3 附加概率对正方形分形图的影响
Fig.3 The effect of additional probabilities on the fractal image of a square
由上可见,虽然变换规则未变,但由于概率的加入,却可以使最终生成的图像变得丰富
多彩。实现方法是如此的简单,全凭你的需要和对概率的恰当选择而定。

3
几种基于分形思想的图像生成技术

3 带凝聚的 IFS -----“树木成林”的实现

IFS 用于通过单个景物生成大片景物,其优越性是无可比拟的。因为 IFS 生成图像的依


据在于整体与局部的自相似性。而在大片景物中,其自相似性是相当明显的,以一排树木为
例(如图 4(a)所示) ,显然,第二棵树与第一棵树形状完全一样,只不过比第一棵树略小些。
以后的每一棵树形状都一样,只是比前一棵树小一些。换个角度看,把一排树作为一个整体,
它可以分为两部分,一部分是第一棵树,另一部分是其余的树。显然,后者与整体之间有着
明显的自相似性。可以看作是整体的缩小和小位移所成。而第一棵树似乎独立于整体,但却
又是后面景物生成的依据。由于它的特殊性,就将生成第一棵树的变换称为凝聚变换ω0,
ω0(B)=C,其中 B 为初始集,C 为第一棵树的点集。可以这样定义一个带凝聚的 IFS:若{X;
ω1,ω2,……ωn}是一个 IFS,具有压缩因子 S=max(Si),ω0 是一个凝聚变换,则{X;ω0,
ω1,ω2,……ωn}称为带凝聚的 IFS,压缩因子仍为 S。之所以称ωo 为凝聚变换,是因为每
次迭代时,ω0 的作用只是生成单个景物,而多个景物的形成由ω1、ω2,……ωn 来完成,这
些变换使图像不断向远处延伸。相对地,ω0 所作的变换就好象凝聚在一个位置。从本质上
说,每次迭代相当于作了两类变换,一类是凝聚在某一处生成单个景物,另一类是在空间不
同方向上作延伸的变换。树木成行只需ω0,ω1 即可,若要产生树木成林的效果,就需要ω0、
ω1、ω2,甚至更多的变换,但是,基本原理是一样的。凝聚也可以用来生成草地、树林、原
野、果园等,如图 4(b)、(c)所示。另外,根据某些特殊需要,还可以生成重叠像,或产生阴
影效果。
带凝聚的 IFS 给我们一个启示:两类不同的变换也可以放在同一个 IFS 中,同时生成图
像,这使得最终图像更为复杂多变。那么,我们是否可以把更多类的变换放在同一个 IFS 中
呢?这样是否可以生成更千变万化的图像呢?这还都有待我们去探索。

(a) 树木成行 (b) 芳草如茵

(c) 树木成林
图4 带凝聚的 IFS 生成的分形图
Fig.4 The fractal images generated by IFS with coherent transformations

4
几种基于分形思想的图像生成技术

4 带参数的 IFS ----- 动画的实现


动画的制作历来费时且费力。虽然计算机动画对动画的发展起了很大的推动作用,但是
目前的计算机动画技术大多是基于数学或物理模型的,即所谓模型动画技术。由于模型的限
制,只能生成一些较简单的动画作品,且制作过程繁琐,制作速度很慢。由于这些缺点,又
发展了智能动画技术。
而带参数的 IFS 的动画制作则完全不同于以上两种动画技术,它另辟蹊径,是在一种全
新思想指导下的新方法。前面曾经提到,一组 IFS 码决定了一幅图像,任一个 IFS 码的微小
变化,都会引起最终生成图像的变化。这种影响可能很小,也可能会很大。这取决于各 IFS
码在整个 IFS 中的作用。利用这一特性,我们是否能人为地调节控制 IFS 码,使图像按我们
希望的方向变化,然后,将一系列变化了的图像连贯起来,动画便生成了。实践证明,这是
可以实现的。
从(1)式可知,比例系数、旋转系数、位移系数对控制图像的变化起了不同的作用。
我们可以根据动画的需要,在相应的系数中加入参数以实现控制。若 r1≠r2,将会产生图像
的变形;如果需要物体发生平动,那么只需在位移系数 e 或 f 中加入参数,使它们按照一定
的规律变化,或者是匀速运动,或者是有加速度的运动。同样道理,物体的旋转或缩放、变
形也可以通过在旋转系数或比例系数中加入参数来实现。以自然界中常见的风吹树动现象为
例:风吹树枝造成树枝摆动,这种摆动显然是属于旋转变化,其它两类变化并未产生,所以
只需把参数加入到旋转系数中就可以了。在这里,参数就是风力的大小,以 w 来表示,则
仿射变换可改写成:

 x  r cos(θ 1 + w) − r2 sin(θ 2 + w)  x   e 


ω  =  1    +   ……………………………….(2)
 y   r1 sin(θ 1 + w) r2 cos(θ 2 + w)   y   f 
因为风力越大,旋转角度越大,所以 w 为正,加到θ上。在其它情况下,可能是减去某
个正参数,或加上某个负参数,这取决于参数变化所引起的图像变化。参数应取多大才比较
合适?这个问题应在实践中予以解决。可以先试探性地取一个数,观察图像变化情况,若变
化太大,则改用较小的参数,反之,则用大参数。上述的是仅发生旋转变化的动画,更复杂
的情况下,可能同时发生两种变化,如随风飘动的落叶,同时发生旋转和位移变化。也可能
同时发生三种变化,如逐渐开放的花朵,不断生长的树木。这时,需要同时加入两个或三个
参数分别控制不同的变化。
如果考虑到图像各部分的变化不尽相同,可以再在参数中乘以一个加权因子,使得参数
对图各部分的影响有所不同。仍以风吹树为例,我们可以把一棵树分为四个部分(如图 5
所示) ,即顶枝、左侧枝、右侧枝和树干。树的四个部分中,显然,顶枝受风的影响最大,
两侧枝次之,树干最小。所以应乘上不同的加权因子,相应得到针对于各变换的四个参数。
对于顶枝、左侧枝、右侧枝、树干,参数分别为:w1=w×1、w2=w×0.5、w3=w×0.5、w4=w×0.1,
可见,加权因子分别为 1、0.5、0.5、0.1,这体现了风力大小对树不同部分的不同影响。当
然,我们只能定性地了解到各部分加权因子的大小情况,究竟取多大才合适仍应从实践中吸
取经验和不断修改。
经过实践,发现加入参数的确可使图像发生预期的变化。连贯起来之后,动画效果良好。
以下分别是 w=0、5、10、15、20、25、30、35 时的图像。
(见图 5(a)、(b)、(c)、(d)、(e)、
(f)、(g)、(h))
由上可见,带参数的 IFS 动画生成技术与其它方法相比,主要有两个优点。其一,实现
手段比较简单。只需要改变参数大小就可以得到一系列变化的图像。其二,易于实施人为控
制。由于各 IFS 码在图像生成过程中各自发挥着不同的作用,或使图像平移,或使图像旋转。

5
几种基于分形思想的图像生成技术

因此,我们可以根据动画的需要有针对性的调控相应的系数,加权因子的加入又可分别对图
像的不同部分进行控制,使动画效果更好。

(a) w=0 (b) w=5 (c) w=10 (d) w=15

(e) w=20 (f) w=25 (g) w=30 (h) w=35

图5 带参数的 IFS 的分形图


Fig.5 The fractal images generated by IFS with additional parameters

5 小 结
基于分形思想的图像生成技术的确给计算机图形学开辟了一个崭新的天地。它将一幅复
杂的图像抽象化为一组简单的仿射变换系数,这使得我们对图像的研究从表面深入到本质,
从研究具体的图像到研究变换系数。以上所述的三种改进方案,都有一个共同的特点:即用
简单的方法就可以产生出奇妙的效果。当然,很多做法仍带有一定的尝试性,有待进一步的
深入研究,找出其变化规律。
附 录
文中各图的有关数据及 IFS 码如下所示。其中第一行第一个数为迭代次数,第一行第三、四个数为初
始点坐标。图 1(C) 、图 2、图 3 数据块中第二行开始的各行中,末一个数为概率,此值可变。
图 1(C)有关数据 图 2 有关数据
150000 4 80 80 200 200 30000 5 80 80 200 200
0.849 0.037 -0.037 0.849 0.075 0.1830 0.75 0.195 -0.488 0.344 0.443 0.4431 0.2452 0.4
0.197 -0.226 0.226 0.197 0.40 0.0490 0.12 0.462 0.414 -0.252 0.361 0.2511 0.5692 0.15
-0.150 0.283 0.260 0.237 0.575 -0.084 0.12 -0.058 -0.07 0.453 -0.111 0.5976 0.0969 0.25
0.0 0.0 0.0 0.160 0.5 0.0 0.01 -0.035 0.07 -0.469 -0.022 0.4884 0.5069 0.15
-0.637 0.0 0.0 0.501 0.8562 0.2513 0.05
图 3 有关数据 图 4(a)有关数据
10000 4 120 100 1 1 20000 6 10 1 100 100 50 50 50 50
0.5 0.5 0.0 0.0 0 0 0.1 0.05 0.6 0.0 0.0 0.0 0.0 0.1
0.5 0.5 0.0 0.0 50 0 0.2 0.05 -0.5 0.0 0.0 0.0 1.0 0.1
0.5 0.5 0.0 0.0 0 50 0.3 0.6 0.5 40 40 0.0 0.6 0.2
0.5 0.5 0.0 0.0 50 50 0.4 0.5 0.45 20 20 0.0 1.1 0.2
0.5 0.55 -30 -30 0.0 1.0 0.2
0.55 0.4 -40 -40 0.0 0.7 0.2
0.75 0.75 0 0.45 1.3 0 1.0

6
几种基于分形思想的图像生成技术

图 4(b)有关数据 图 4(c)有关数据
30000 8 10 2 320 80 50 50 50 50 20000 9 10 2 350 100 50 50 50 50
0.25 0.95 79 9 -0.05 -0.01 0.1 0.55 0.55 0 0 0.0 0.35 0.3
0.25 0.95 101 -9 0.05 -0.01 0.1 0.4 0.3 -50 -118 0.08 0.3 0.1
0.2 0.75 135 18 -0.25 -0.04 0.1 0.4 0.3 50 118 -0.08 0.3 0.1
0.2 0.75 45 -18 0.25 -0.04 0.1 0.5 0.4 60 120 -0.09 0.1 0.1
0.3 0.55 153 37 -0.4 -0.21 0.1 0.5 0.4 -60 -120 0.09 0.1 0.1
0.3 0.55 27 -37 0.4 -0.21 0.1 0.65 0.5 62 122 -0.1 -0.1 0.1
0.45 0.65 5 -60 0.6 -0.35 0.2 0.65 0.5 -62 -122 0.1 -0.1 0.1
0.45 0.65 175 60 -0.6 -0.35 0.2 0.06 0.8 0 0 0 -0.20 0.05
0.75 0 0 0.75 1.04 0.6 0.5 0.04 0.6 0 0 0 -0.25 0.05
0.75 0 0 0.75 -1.03 0.6 0.5 0.75 0 0 0.75 1.04 0.6 0.5
图 5(动画)有关数据 0.75 0 0 0.75 -1.03 0.6 0.5
30000 4 250 100 80 80
0.5 0.45 2 2 0.0 1.0 0.3
0.6 0.5 40 40 0.0 0.6 0.3
0.55 0.4 -40 -40 0.0 0.7 0.3
0.05 0.6 0.0 0.0 0.0 -0.1 0.1

参 考 文 献
[1] Barseley M F. Fractal Everywhere. New York: Academic Press, 1998.
[2] 董士海,张晖.Fractal 图形学.计算机辅助设计与图形学学报, 1990, 2(1): 69-73.
Dong Shi-Hai, Zhang Hui. Fractal graphics. Journal of Computer-Aided Design & Computer Graphics ,
1990, 2(1): 69-73.
[3] 陈为.基于分维图形的研究及其应用.计算机应用与软件, 1997, 14(3): 1-8.
Chen Wei. Research and application based on fractal dimension graphics. Computer Applications and
Software , 1997, 14(3): 1-8.
[4] 李富平,蔡秀云.基于迭代函数的图像生成方法的实践与认识.计算机辅助设计与图形学学报 ,
1999,11(1): 82-84
Li Fu-Ping, Cai Xiu-Yun. Image generation based on iteration function system. Journal of
Computer-Aided Design & Computer Graphics, 1999, 11(1): 82-84.
[5] 李宁,潘云鹤.计算机建筑画的现状与发展.计算机辅助设计与图形学学报, 1999,11(4):379-383
.Li Ning, Pan Yun-He. The present situation and future development of the computer architectural
rendering. Journal of Computer-Aided Design &Computer Graphics,1999,11(4):379-383.

SEVERAL METHODS OF IMAGE GENERATION BASED ON FRACTAL


CHEN Qian 1 CHEN Nai-Li 1 CHEN Chong-Wei 2
(1.Dept. of Mechanics, Zhejiang Univ.,Hangzhou 310027 China;
.2.Dept.of Chemical Engineering Zhejiang Univ.,Hangzhou 310027 China)
Abstract: On the basis of fractal theory, three improved methods of image generation based on IFS are proposed.
They are IFS with probabilities, coherence transformation, and parameters. In the IFS with probabilities, the
frequencies of the n transformations are different, which makes some transformations more important than others,
some colors more richer than others, the images more approach truth to life; The IFS with coherence consists of
two different transformations: coherent ones at some positions and stretched ones in different directions in space;
The IFS with parameters adds parameters in proportion, rotation and displacement coefficients in order to control
IFS codes and make images change continuously according to predetermined design and generate animations. A
series of image examples are shown to demonstrate the effects of the methods, namely, “Change of brightness”,
“From tree to forest” and “animation”.
Key words: fractal, IFS, probabilities, coherent transformation, parameters.

You might also like