《分形技术在计算机动画中的应用》-公开DOC·毕业论文

上传人:zhuma****mei2 文档编号:136019471 上传时间:2020-06-22 格式:DOC 页数:18 大小:868KB
返回 下载 相关 举报
《分形技术在计算机动画中的应用》-公开DOC·毕业论文_第1页
第1页 / 共18页
《分形技术在计算机动画中的应用》-公开DOC·毕业论文_第2页
第2页 / 共18页
《分形技术在计算机动画中的应用》-公开DOC·毕业论文_第3页
第3页 / 共18页
《分形技术在计算机动画中的应用》-公开DOC·毕业论文_第4页
第4页 / 共18页
《分形技术在计算机动画中的应用》-公开DOC·毕业论文_第5页
第5页 / 共18页
点击查看更多>>
资源描述

《《分形技术在计算机动画中的应用》-公开DOC·毕业论文》由会员分享,可在线阅读,更多相关《《分形技术在计算机动画中的应用》-公开DOC·毕业论文(18页珍藏版)》请在金锄头文库上搜索。

1、计算机图形学课程设计题目名称: 分形技术在计算机动画中的应用班 级:学 号: 学生姓名: 分形技术在计算机动画中的应用摘要基于传统欧几里德几何学基础之上的艺术造型是对有形自然界中各种有序的、稳定的、平衡的和确定的物象进行描绘,凭借这种几何学对事物的理解和当代各种人工技术手段的发展人类曾创造出伟大而美好的视觉空间。随着科学技术水平的不断提高及人们认知水平的不断发展,人们逐渐感觉到用传统几何并不能描述大自然中所有的对象,如海岸线、山形、河川、岩石、树木、森林、云团和闪电等等,需要新的几何学来解释大自然中无序的、不稳定的、非平衡的和随机的状态的物象,分形几何便应运而生。分形作为可视数学的一个新支,是

2、当今科学前沿最有影响的概念之一,同时建立在分形几何学基础之上的分形艺术创作也极大地丰富了现阶段的艺术创作手段。分形图形的研究和使用为现代动画技术的发展起到了推波助澜的作用,提高了运动的复杂性、画面的真实性、操作的便捷性,克服了以往传统绘画艺术仅靠静态图像来传情答意的局限性。分形艺术作品本身所具有的无穷细节,及其在表现自然景物方面的能力,使人们不能不设想若将其运动起来,会产生意想不到的视觉效果。本课题简要的介绍了分形技术的基本内容及其在计算机动画中的应用。关键字:分形技术 计算机动画 自然景物模拟 仿真模拟一、引言 20世纪70年代,法国数学家Mandelbrot创立了分形几何学,拼造了Frac

3、tal(分形)这个新词,用来描述那些不规则而欧氏几何又无法描述的几何现象和物体。通过研究分形与自然的关系,向人们展示了分形广泛的存在于我们身边,用分形来描述树和山等复杂事物。目前,被誉为大自然的几何学的分形理论,已成为现代数学的一个新分支,但其本质却是一种新的世界观和方法论。它与动力系统的混沌理论交叉结合,相辅相成。它承认空间维数的变化既可以是离散的也可以是连续的,因而拓展了视野。分形技术提出后,在世界上引起了广泛重视,在数学、物理、化学、生物、经济学及计算机科学领域展开了分形理论、技术和应用的研究,逐渐发展并完善了分形理论体系。近年来,计算机图形学在蓬勃发展和广泛应用,传统的欧氏几何学为它提

4、供了有力的数学模型,在描述一些抽象图形或人造物体的形态时是非常有力的。但是,随着对CAD逼真程度要求的不断提高,特别是计算机图形学的一个重要分支自然景物模拟的迅速发展,使得传统图形学越来越显得力不从心。将分形几何学引入到计算机图形学中,为非规整形状图形的计算机描述和处理提供了有利工具,成为目前研究世界物质模型的一个扩展。借助于分形的计算机生成,从少量的数据生成复杂的自然景物图形,使我们在仿真模拟方面前进了一大步。二、分形技术的理论基础分形以其独特的手段来解决整体与部分的关系问题,利用空间结构的对称性和自相似性,采用各种模拟真实图形的模型,使整个生成的景物呈现出细节的无穷回归的性质,丰富多彩,具

5、有奇妙的艺术魅力。所生成的景物中,可以有结构性较强的树、山峰,也可以是结构性较弱的火、云及烟等。生成图形的关键是要有一个合适的模型来描述对象,根据所选择的分形造型的模型不同,产生分形图形的方法可分为如下4类:(1) 基于L-系统的分形图形;(2) 迭代函数系统IFS方法;(3) 粒子系统模型方法;(4) 随机插值法。2.1 分形插值法2.1.1 分形的特征由于其描述对象的特殊性, 分形具有以下特征:(1)自相似性:整体和局部有着严格意义或统计意义下的相似性;(2)无限可分性:具有精细的结构, 有任意小的比例细节;(3)分数维数性:分形的分数维数大于其拓扑维数;(4)迭代性:一般的分形用传统的几

6、何方法难以描述,但可以定义几个简单规则,用递归和迭代的方法实现。2.1.2 分形插值原理在实际计算中,经常遇到只提供一些离散数据的函数,要计算函数在其它点上的值或讨论函数的性质,通过的方法是构造一个简单的函数F(x)使之通过已知的数据点,用F(x)的值和性质来代替上述函数的值和性质,这就是插值法;而传统的插值函数,对相邻的两插值点之间只能用直线或光滑曲线连接,这样得不到两点之间的局部变化特证。然而实际情况是,在两相邻信息点之间并不是线性变化的或光滑过度的,而是存在局部变化的特征。如:山地的轮廓线、大气压强的变化规律、股票价格的变化规律、浮云的变化无常等。事实上,用分形插值就可以得到两相邻信息点

7、之间的局部变化特征,从而使得插值结果更加符合实际。运用上述分形插值原理,下面对自然界云彩的不规则形态进行分形模拟1。2.1.3 分形云彩的模拟云属于气体现象,其外观形状极不规则,没有光滑的表面,而且极其复杂和随意, 所以用经典的欧几里得几何学对其描述非常困难。考虑到分形理论,可以用分形插值的方法生成模型的基础数据,通过转换得到云图纹理,实现蓝天白云效果图的绘制。自然云图的模拟,可以用二维空间的分形插值方法2实现。如图1所示。由于自然界的彩云形状的不规则性主要反映在颜色变化的不连续性和随意性上,所以在对二维空间细化的过程中,利用分形插值算法不断对网格进行细化,同时得到细化的网格中的颜色值。构造方

8、法如下:图1 二维空间的分形插值模型(1)首先构造一个二维平面, 如图1(a)图所示。然后将平面分成个正方形的网格。给出四个角点A、B、C、D 的颜色;由于自然彩云的变化莫测, 此四个角点的颜色值可以随机给出。(2)根据A、B、C、D四个角点的坐标找到中间点的位置M,同时根据四个角点的颜色的平均值,产生中点M的颜色;如图1(b)图所示。(3)根据A、B、M点和网格外一虚点(颜色值为0)求平均,得到边中点E点的颜色; 根据B、C、M点和网格外一虚点(颜色值为0)求平均,得到边中点F点的颜色;根据C、D、M 点和网格外一虚点(颜色值为0)求平均,得到边中点G点的颜色;根据A、D、M 点和网格外一虚

9、点(颜色值为0)求平均,得到边中点H点的颜色。如图1(d)图所示。这样得到四个小四边形,分别为AEMH、EBFM、FCGM 和GDHM。使用网格外的虚点,是因为在原始正方形边上的某一点(除正方形的四个角点外)只有三个相邻点,为了算法统一不得不补上一个虚点。换句话说,如果某一网格上的点有四个相邻点,就没有必要添加虚点。对虚点的处理,也可以采用其它方法,如随机地将正方形边界上的所有点都涂上颜色等。(4)根据小正方形AEMH 四角点颜色的平均值,求出小正方形AEMH中点以及边中点的颜色;然后再沿用上述规则计算小正方形EBFM的中点及边中点的颜色,以此类推,计算小正方形FCGM,GDHM的中点和边中点

10、的颜色。 (5)递归步骤(4)。这样利用规则进行递归或迭代使正方形网格不断细化,直至达到预期的递归深度。虽然正方形初始点的颜色是随机赋予的,这并不说明正方形网格内的所有点是随机分布的。也就是说,通过采用分形插值算法,使得网格内相邻点之间建立一种联系,从而使生成体内部自然过渡;另外,通过递归可以使得生成体具有自相似和精细结构,这也是分形插值的优点。使用Java语言在二维网格下进行绘制可以得到如图2所示的图形。该图有较强的真实感,可以在虚拟现实中得到广泛的应用。 图2分形云彩的模拟效果图如果上述的结果绘制在x-y平面上,然后在z轴的正方向上,以正方形网格不同点的颜色值对应长出不同的高度,从而产生出

11、连绵起伏的山脉。2.2 复平面神奇的迭代Mandelbrot集合是Mandelbrot在复平面中对简单的式子ZZ2+C 进行迭代产生的图形。虽然式子和迭代运算都很简单,但是产生的图形出现那么丰富多样的形态及精细结构简直令人难以置信以至于不可思议。在传统几何学中难以找到如此简单的规律隐藏着如此复杂而生动的例子。Mandelbrot集合告诉我们自然界中简单的行为可以导致复杂的结果。例如,大型团体操中每个人穿的衣服只有几种颜色中的一种,每个人的动作也只是导演规定的几种之一。但是整体上可以显示出多种多样的复杂形态。2.2.1 Julia集合在复平面上,水平的轴线代表实数,垂直的轴线代表虚数。每个Jul

12、ia集合(有无限多个点)都决定一个常数C,它是一个复数。现在您在复平面上任意取一个点,其值是复数Z。将其代入下面方程中进行反复迭代运算:就是说,用旧的Z自乘再加上C后的结果作为新的Z。再把新的Z作为旧的Z,重复运算。当你不停地做,你将最后得到的Z值有3种可能性:1. Z值没有界限增加(趋向无穷);2. Z值衰减(趋向于零);3. Z值是变化的,即非1或非2 。趋向无穷和趋向于零的点叫定常吸引子,很多点在定常吸引子处结束,被定常吸引子所吸引。非趋向无穷和趋向于零的点是“Julia集合”部分,也叫混沌吸引子。问题是我们怎样才能让计算机知道哪一个点是定常吸引子还是“Julia集合”。一般按下述算法近

13、似计算:n=0;while (n+ Nmax) & ( Real(Z)2 + Imag(Z)2) = Rmax 属于这种情况的点相当于“1、Z值没有界限增加(趋向无穷)”,为定常吸引子,我们把这些区域着成白色。 第二种情况是:n = Nmax属于这种情况的点相当于“2、Z 值衰减(趋向于零)”或“3、Z 值是变化的”,我们把这些区域着成黑色。黑色区域图形的边界处即为“Julia集合”。“Julia集合”有着极其复杂的形态和精细的结构。 黑白两色的图形艺术感染力不强。要想得到彩色图形,最简单的方法是用迭代返回值n来着颜色。要想获得较好的艺术效果,一般对n做如下处理: Red = n*Ar+Br;

14、Grn = n*Ag+Bg;Blu = n*Ab+Bb;if (Red & 0x1FF) 0xFF)Red = Red 0xFF;if (Grn & 0x1FF) 0xFF) Grn = Grn 0xFF;if (Blu & 0x1FF) 0xFF) Blu = Blu 0xFF;其中:Ar、Ag、Ab及Br、Bg、Bb为修正量。 获得的Red、Green、Blue为RGB三基色,着色效果为周期变化,具有较强的艺术感染力,而且等位线也蕴藏在周期变化的色彩之中。你可以想象得出,屏幕上顺序的试用每个像素点来反复迭代方程要花费很长的时间。一幅1024768屏幕尺寸的画面有786432个点。其中一些点

15、在计算机上要反复迭代次数达1000次(取决于Nmax的取值)或更多次才放弃运算。运算产生一幅Julia集合需要花费很长的时间,有时产生一幅做海报用的大图像时,如 102407680,要花几天的时间。当然使用高速计算机会缩短这个时间。图3、4、5是三幅Julia集合:图3 象尘埃一样的结构图4 稳定的固态型图5 象树枝状2.2.2 Mandelbrot集合将Mandelbrot集合和Julia集合联系在一起,Julia集合有若干类型,都包含在Mandelbrot集合之中。Julia集合中的C是一个常量,而Mandelbrot集合的C是由进入迭代前的Z值而定。迭代结果,Z值同样有3种可能性,即: 1. Z值没有界限增加(趋向无穷);2. Z值衰减(趋向于零);3. Z值是变化的,即非1或

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文 > 毕业论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号