真实感计算机图形学(一)--自然景物模拟作者:田景成发布时间:2001/02/07
文章摘要:
寻求能准确地描述客观世界中各种现象与景观的数学模型,并逼真地再现这些现象与景观,是图形学的一个重要研究课题。很多自然景物难以用几何模型描述,如烟雾、植物、水波、火焰等。本文所讨论的几种建模及绘制技术都超越了几何模型的限制,能够用简单的模型描述复杂的自然景物。
正文:
真实感计算机图形学(一)--自然景物模拟
在计算机的图形设备上实现真实感图形必须完成的四个基本任务。
1. 三维场景的描述。三维造型。
2. 将三维几何描述转换成为二维透视图。透视变换。
3. 确定场景中的所有可见面。消隐算法,可见面探测算法。
4. 计算场景中可见面的颜色。根据基于光学物理的光照模型计算可见面投射到观察者眼中的光亮度大小和色彩组成。
其中三维造型技术根据造型对象分成三类:
·曲面造型:研究在计算机内如何描述一张曲面,如何对它的形状进行交互式的显示和控制。曲面造型又分成规则曲面造型(如平面、圆柱面等)和不规则曲面两种。不规则曲面造型方法主要有Bezier曲线曲面、B样条曲线曲面和孔斯曲面等。
·立体造型。研究如何在计算机内定义、表示一个三维物体。这些方法主要有体素构造法、边界表示法、八叉树法等等。曲面造型和立体造型合称为几何模型造型。
·自然景物模拟。研究如何在计算机内模拟自然景物,如云、水流、树等等。本文将主要集中介绍有关自然景物模拟的有关方法。
寻求能准确地描述客观世界中各种现象与景观的数学模型,并逼真地再现这些现象与景观,是图形学的一个重要研究课题。很多自然景物难以用几何模型描述,如烟雾、植物、水波、火焰等。本文所讨论的几种建模及绘制技术都超越了几何模型的限制,能够用简单的模型描述复杂的自然景物。
1.1 分形与IFS
1.1.1 分形几何
图1 "雪花"(snowflake)曲线
分形(fractal)指的是数学上的一类几何形体,在任意尺度上都具有复杂并且精细的结构。一般来说分形几何体都是自相似的,即图形的每一个局部都可以被看作是整体图形的一个缩小的复本。例如,雪花曲线是一种典型的分形图形,生成方法如下:取一等边三角形,在每一边中间的三分之一处分别生长出一个小的等边三角形,重复上述过程就可以形成图2.1所示的曲线。理论上来说,无限递归的结果是形成了一个有限的区域,而该区域的周长却是无限的,并且具有无限数量的顶点。这样的曲线在数学上是不可微的。
早在19世纪就已经出现了一些据有自相似特性的分形图形,但最初只是被看作一种奇异现象。本世纪70年代,Benoit B. Mandelbrot最早对分形进行系统研究,并创立了分形几何这一新的数学分支。Mandelbrot扩展了经典欧几里得几何中的维数,提出了分数维的概念。例如上述雪花曲线的维数为1.2618。
分形几何并不只是抽象的数学理论。例如海岸线的轮廓,如果考虑其不规则性,同样具有无限的长度。Mandelbrot认为海岸、山脉、云彩和其他很多自然现象都具有分形的特性。因此,分形几何已经成为一个发展十分迅速的科学分支,尤其是在计算机图形学中,成为描述自然景物及计算机艺术创作的一种重要手段。此外,分形在图象压缩方面也有广阔的应用前景。
1.1.2 仿射变换与迭代函数
迭代函数系统IFS (Iteration Function System)最早是由Hutchinson于1981年提出的,现已成为分形几何中的重要研究内容之一。IFS是以仿射变换为框架,根据几何对象的整体与局部具有自相似结构,经过迭代而产生的。
仿射变换是对图形所作的绕原点旋转、比例放大及平移等操作。定义二维欧氏空间中的仿射变换为ω:R2→R2,(x,y)为二维空间中的一点,其仿射变换映象为(x',y'),则仿射变换公式可写为:
仿射变换可以使图形产生一个复本,分形图形的每个部分都可看作是在不同仿射变换下的复制品。这种分解与尺度无关,即原图经仿射变换后仍然可以对局部图形进行类似的分解。这种整体与局部相似的性质是分形的基本特征。
一个迭代函数系统是由一组分别具有压缩因子{S1,S2,… ,Sn}的有限个压缩映射集{ω1,ω2,… ,ωn}组成,记为{ωn,n=1, 2, … , N},其中N为整体所分局部的个数;整体的压缩映射集ωn对应的压缩因子Sn,有S = max {Sn,n=1, 2, …, N}满足0≤S<1。对应于每一个ωn有一个伴随概率0<Pn<1,且ΣPn=1。压缩映射集ωn和对应的伴随概率Pn确定了IFS码。
由分形空间的压缩映射定理可知,对于给定图形的IFS码,利用随机迭代,可以绘出图形的吸引子,也就是说如果以IFS码来建模,用极少量的代码就可以绘制出非常复杂的图形效果。这个过程的逆过程也是很有意义的,从一个图形出发获得IFS码,就相当于对原始图形作了高度的压缩,因而同样也是目前分形分形研究的热点课题。
1.1.3 基于分形的景物生成
由IFS码绘出的分形图形具有无穷细微的自相似结构,能对很多客观事物作出准确的反映,这种结构是难于用经典数学模型来描述的。只要变换选取适当,利用IFS就可以迭代地生成任意精度的图形效果,这也是其他绘制方法难以做到的。
1.2 基于文法的模型
美国科学家Aristid Lindenmayer于1969年提出了一种研究植物形态与生长的描述方法,以他的名字命名为L系统(L-grammars)。1984年,A. R. Smith将L系统应用于计算机图形学中。L系统实际上是一组形式语言,由特定的语法加以描述,这些语法由一系列产生式组成,所有产生式都是直接匹配的。例如,一种典型的L系统语法包括四个字母{A,B,[,]}和两条产生式规则:
1. A→AA
2. B→A[B]AA[B]
从字母A出发,可以迭代地生成A、AA、AAAA等字母序列;从字母B出发,前几步迭代结果如下:
B
A[B]AA[B]
AA[A[B]AA[B]]AAAA[A[B]AA[B]]
……
如果我们把由这种语法规则中的产生式迭代形成的词汇看作是某种图结构的一部分,把方括号中的内容视为前一个符号的分支,则上述文法的三次迭代结果如图2.2所示。在此基础上,适当改变分支的方向,加入随机动因素及在分支的终点绘制出叶子、花、果实等细节,就可以逼地真模拟出现实世界中各种形态的植物。
当然,上述L系统本身并没有记录任何几何信息,因此基于L系统的建模语言必须能够同时支持文法描述和几何描述;如何对L系统的生长(迭代)过程加以控制也是一个需要进行研究的问题。对此,Reffye、Prusinkiewicz等人分别提出了各自的方法。
总之,基于文法的L系统用于植物生长过程的模拟是非常成功的,为计算机真实感图形的绘制提供了又一个有力的工具。此外,这种思想也被成功地应用到了电子线路设计和建筑设计等很多方面。
1.3 粒子系统
Reeves于1983年提出的粒子系统方法是一种很有影响的模拟不规则物体的方法,能够成功地模拟由不规则模糊物体组成的景物。与其他传统图形学方法完全不同,这种方法充分体现了不规则模糊物体的动态性和随机性,从而能够很好地模拟火、云、水、森林和原野等许多自然景象。
粒子系统的基本思想是采用许多形状简单的微小粒子作为基本元素来表示不规则模糊物体。这些粒子都有各自的生命周期,在系统中都要经历"产生"、"运动和生长"及"消亡"三个阶段。粒子系统是一个有"生命"的系统,因此不象传统方法那样只能生成瞬时静态的景物画面,而可产生一系列运动进化的画面,这使得模拟动态的自然景物成为可能。生成系统某瞬间画面的基本步骤是:
1. 产生新的粒子;
2. 赋予每一新粒子一定的属性;
3. 删去那些已经超过生存期的粒子;
4. 根据粒子的动态属性对粒子进行移动和变换;
5. 显示由有生命的粒子组成的图象。
粒子系统采用随机过程来控制粒子的产生数量,确定新产生粒子的一些初始随机属性,如初始运动方向、初始大小、初始颜色、初始透明度、初始形状以及生存期等,并在粒子的运动和生长过程中随机地改变这些属性。粒子系统的随机性使模拟不规则模糊物体变得十分简便。
参考文献
[1] Donald Hearn, M. Pauline Baker. Computer Graphics C Version, 2nd Edition, 清华大学出版社, 1998
[2] Alan Watt. 3D Computer Graphics, 2nd Edition. Addison-Wesley, 1993
[3] 唐荣锡, 汪嘉业, 彭群生等. 计算机图形学教程. 科学出版社, 1994
[4] 唐泽圣, 周嘉玉, 李新友. 计算机图形学基础. 清华大学出版社, 1995
[5] 石教英, 蔡文立. 科学计算可视化算法与系统. 科学出版社, 1996
作者会员名:dipper