【精品】VC++分形理论在计算机图形学中的应用(论文+源代码)
收藏
资源目录
压缩包内文档预览:(预览前20页/共48页)
编号:1639447
类型:共享资源
大小:3.99MB
格式:RAR
上传时间:2017-08-30
上传人:机****料
认证信息
个人认证
高**(实名认证)
河南
IP属地:河南
50
积分
- 关 键 词:
-
精品
vc
理论
计算机
图形学
中的
应用
利用
运用
论文
源代码
- 资源描述:
-
【精品】VC++分形理论在计算机图形学中的应用(论文+源代码),精品,vc,理论,计算机,图形学,中的,应用,利用,运用,论文,源代码
- 内容简介:
-
学院理学学士学位论文 分形理论在计算机图形学中的应用 史华平 二零零五年五月七日 分类号 学校代码 密级 学 号 学院 信息工程学院毕业论文 分形理论在计算机图形学中的应用 矢量图形变换 史华平 指导教师 _詹 棠 森 (副教授 )_ 申请学位级别 信息与计算科学 论文提交日期 论文答辩日期 学位授予单位和日期 答辩委员会主席 论文评阅人 20 年 月 日 I 目录 目录 . I 摘要 . . 一章 分形概论 . 1 么是分形 . 1 形的应用 . 1 文选题的背景 . 2 第二章 分形相关理论问题 . 3 . 3 逸时间算法的基本思想 . 4 逸时间算法绘制 与 . 4 形图形着色方案 . 6 与 图形的矢量变换 . 7 维元胞自动机生成分形图案 . 10 式 . 11 形图形的位图操作 . 11 第三章 毕业设计结果和分析 . 23 序概况 . 23 序说明 . 27 充说明 . 31 参考文献 . 32 致 谢 . 33 . 34 附录 . 40 理 学学士学位论文 摘要 要 分形是一门几何学科,它研究的是欧氏空间的一类子集,但很难对它下一个确切的定义。可以简单地说,如果一个对象的部分与整体具有自仿射变换关系,我 们就可以称它为分形。自分形之父曼德勃罗( 1975年出版专著分形对象:形、机遇与维数,标志着分形理论正式诞生以来。分形已经广泛应用于物理、化学、生物、医学、计算机科学等诸多领域,而本文着眼于分形理论与计算机知识的结合。 因为分形图形有极强的艺术性,绘制得当,可以产生非常漂亮的图片,因此可以用于装饰,包装,服装等需要艺术图案的场所。本文重点介绍了分形图形的重要生成算法 逃逸时间算法,并且详细说明了使用逃逸时间算法生成 的算法过程。另外 ,本文也详细说明了分形图形的一种着色方案,它可以使分形图形的着色过程更富有过渡性,从而使图形具有更强的美感。本文还详细说明了分形图形在计算机图形学相关理论上的应用,比如分形图形的矢量移动,旋转,缩放,以及对分形图形进行相关特殊变换,此外,还可修改图形的参数,修改图形的颜色等等。本文还涉及了元胞机自动图案的生成以及形,生成了经典的三翅鹰图形,并且实现了对其色彩的编辑功能。 因为分形图形展示的是数学与艺术的成果,它日益受到人们的重视,甚至引发了分形是不是艺术的讨论,随着时间的流逝,分 形是一种艺术已经为人们所承认,分形与计算机的结合也越来越紧密,计算机图形学中已经专门引入了分形算法,以生成自然景观等。另外,分形在其它学科的应用也日益广泛,可见,分形在今后会得到更大的发展,有更广阔的应用空间。 关键词 :分形,矢量变换, , ,逃逸时间算法 理 学学士学位论文 A b s t r a c t is a It a t be in a if of an is of we is a 975 of is in of in of if in a a so be so of is of a to in it it of in s In be be an an is or an is an is in a to in We 学学士学位论文 第一章 分形概论 1 第一章 分形概论 么是分形 什么是分形呢?很难给分形下一个确切的定义。 严格地而且正式地去定义分形是一件非常复杂而且困难的事情。但是,有一些不太正规的定义却可以帮助我们理解分形的含义。在这些定义中,最为流行的一个定义是:分形是一种具有自相似特性的现象、图 像 或者物理过程。也就是说,在分形中,每一组成部分都在特征上和整体相似,只仅仅是变小了一些而已。 分形在英文中为 由美籍法国数学家曼德勃罗 (造出来的。这个词意为不规则的,破碎的,分数的。曼 德勃罗想用此词来描述自然界中传统欧氏几何不能描述的一大类复杂不规则的几何对象,例如,曲折的海岸线,起伏的山脉,变幻的浮云,纵横的血管等,它们有一个共同的特点就是极不规则或极不光滑,直观而粗略地说,这些对象都是分形。分形作为几何对象,是破碎的,不规则的,但不是所有破碎的,不规则的形状都是分形,分形一般还具有自相似性,一个对象的部分与整体有自仿射变换关系,我们也可以称之为分形。 形的应用 分形几何学已在自然界与物理学中得到了应用。如在显微镜下观察落入溶液中的一粒花粉,会看见它不间断地作无规则运动(布朗 运动),这是花粉在大量液体分子的无规则碰撞下表现的平均行为。布朗粒子的轨迹,由各种尺寸的折线连成。只要有足够的分辨率,就可以发现原以为是直线段的部分,其实由大量更小尺度的折线连成。这是一种处处连续,但又处处无导数的曲线。这种布朗粒子轨迹的分维是 2,大大高于它的拓扑维数 1。 在某些电化学反应中,电极附近成绩的固态物质,以不规则的树枝形状向外增长。受到污染的一些流水中,粘在藻类植物上的颗粒和胶状物,不断因新的沉积而生长,成为带有许多须须毛毛的枝条状,就可以用分维。 自然界中更大的尺度上也存在分形对象。一枝粗干可 以分出不规则的枝杈,理 学学士学位论文 第一章 分形概论 2 每个枝杈继续分为细杈,至少有十几次分支的层次,可以用分形几何学去测量。当然,还有海岸线的长度到底是多少这个问题也用到分形。 有人研究了某些云彩边界的几何性质,发现存在从 1 公里到 1000 公里的无标度区。小于 1 公里的云朵,更受地形概貌影响,大于 1000 公里时,地球曲率开始起作用。大小两端都受到一定特征尺度的限制,中间有三个数量级的无标度区。分形存在于这中间区域。 近几年在流体力学不稳定性、光学双稳定器件、化学震荡反映等试验中,都实际测得了混沌吸引子,并从实验数据中计算出它们的分维。学 会从实验数据测算分维是最近的一大进展。分形几何学在物理学、生物学上的应用也正在成为有充实内容的研究领域。 文选题的背景 分形几何,这门新的数学分支一创立,就日益受到各国学者的重视,在过去的十几年里,分形科学已有了很大的发展。她在纯数学、物理学、材料科学、地质勘探、疾病诊断、股价预测以及计算机和信息科学等许多领域中,都得到了广泛的应用。并且由于分形几何方法的引入,使一些原已死寂的老学科方向焕发了新的生机,也使一些正蓬勃发展的新学科获得了巨大的推动力。分形几何与计算机科学的结合就是一个明显的例证。一方面 ,分形理论推动了计算机绘图方法的迅速发展,使计算机在信息压缩及模仿自然现象中的各种奇妙图形发挥了重要的作用;另一方面,计算机的应用也大大地推动了分形理论的发展,并且由于模拟分形图成功而展现出优美的分形图像,迅速提高了分形这门新兴科学的声望,扩大了她的影响。目前用计算机绘制分形图是如此流行,以致不仅使绘制分形的算法理论与程序设计已成为一个独立的研究方向,同时绘制的分形图也已成了一种相当时髦的艺术形式。并且分形图形已经开始应用在包装,服装,陶瓷装饰上面。分形理论已经极广泛地应用在计算机图形学中,许多的计算机游戏 与虚拟现实中大量应用到分形理论。 理 学学士学位论文 第二章 分形相关理论问题 3 第二章 分形相关理论问题 是分形中的一个经典集合,它的基本函数形式为: 2()F Z Z C,其中 Z 与 C 都为复数。先考虑 C=0 的情况, Z 是复数,即 Z=x+有: 2 2 2 2 2 2( ) ( ) 2 ( ) 2z z z x y i x y i x y i x y i x y x y i 我们还可以定义复数 z=x+绝对值,即: 22|z x y,而 |Z|恰好相反是从原点到 Z 的距离。 下面讨论 2()f z z 的一些性质,假设此方程以点0 0 0z x y i,且0| | 1z 开始迭代,则有: 220 0 0 0 0| ( ) | | 2 |F z x y x y 2 2 2 20 0 0 0( ) ( 2 )x y x y 4 4 2 2 2 20 0 0 0 0 024x y x y x y 2 2 200() 因此,在区域00 | | 1z中,00| ( ) | | |F z z,这意味着对 2()F z z 的每一个一次迭代,即 21,都会使 z 向靠 0 的方向移动,可以说此时 z 向 0 收敛。 当0| | 1z 时,通过上面的计算,可以得知,此时 z 会趋向于 。 当0| | 1z 时,很显然, z 是平面单位圆上的点。 于是,我们发现,复平面上可分为两个区域,一个区域合落在其中的点 向0 收敛,而另一个区域合落在其中的点向 逃逸,它们的分界线便是0| ( ) | 1 然而,当 0C 时,它向一个区域收敛,而不是向一个点收敛,被吸进去的点会遍历整个区间,我们称这个区间为混沌区。与此同时,分割混沌区和向 逃逸的分界线不再是0| ( ) | 1单位圆,它将是一个不规则、不光滑 的分界线。 图形:见图 理 学学士学位论文 第二章 分形相关理论问题 4 逸时间算法的基本思想 根据上述想法,我们将吸引域的概念进一步扩展。如图 示,假设有一个充分大的整数 N,当未逃逸区域 M 中的初始点 a 经过小于 N 次迭代就达到未逃逸区域 M 的边界,甚至超出了边界,我们就认为点 a 逃逸出去了;而如果经过 N 次迭代后, a 的轨迹仍未到达 M 的边界,我们就认为 a 是 A 上的点,用这样 的 方 法 描 绘 出 A 的 边 界 图 形 , 这 就 是 逃 逸 时 间 算 法 的 基 本 思 想 。图 逸时间算法绘制 与 1, 从逃逸时间算法的角度来看, 的内部收敛于某一个点或者几个点,而 的外部随着逃逸时间 t 的增加将发散至 ,其逃逸边界就是 的逃逸时间算法如下: 假设绘图窗口的宽度为 度为 1 选定参数 C p ,m i n m i n 1 ,m a x m a x 1 , M=100 ,00,令: m a x m i n( ) / ( 1 )x x x w i d t h m a x m i n( ) / ( 1 )y y y h e i g h t 逃逸区 M 收敛区域 A 未逃逸区 M 逃逸边界 理 学学士学位论文 第二章 分形相关理论问题 5 其中 C 表示复数上一个点,M 表示逃逸边界值, 示循环可以执行的最大次数。对所有的点( , ) , 0 , 1 , 2 , 3 . . . 1 0 , 1 , 2 , 3 . . . 1x y x yn n n w i d t h n h e i g h t 及,完成如下步骤的循环: 2 令0 m i n *xx x n x ,0 m i n *yy y n y , t=0。 3 根据下列的迭代过程从 ( , ), ),计数 t=t+1。 2211 2t t tt t tx x y py x y q 4 计算 22x y: 如果 ,则转到步骤 5 。 如果 ,且 ,则转至步骤 3 。 如果 ,转到步骤 5 。 5 对点 ( , )转至下一步,再头从做步骤 2 。着色方案将在下面作详细介绍。 图形:见图 2, 绘制 :设 Z=x+C=p+C 的取值范围为: m in m a xm in m a x: , : , p p pq q q 1 假 设 绘 图 窗 口 的 宽 度 为 高 度 为 m i n m a x m i n m a - 2 . 2 , p = 1 . 0 , q = - 1 . 1 , q = 1 . 4,逃逸半径 M=100, 00,对绘图窗口中所有的点 ( , )0 , 1 , 2 . . . 1 , 0 , 1 , 2 . . . 1w i d t h n h e i g h t ,完成如下步骤。 2 令 m a x m i n( ) / ( 1 )x x x w i d t h m a x m i n( ) / ( 1 )y y y h e i g h t 3 利用下式从 ( , )到 11( , ),计数 k=k+1 2211 2k k kk k kx x y py x y q 4 计算 22x y: 如果 ,则转到步骤 5 。 理 学学士学位论文 第二章 分形相关理论问题 6 如果 ,且 ,则转至步骤 3 。 如果 ,转到步骤 5 。 5 对点 ( , ),转至下一点,步骤 1 。 6 读完所有参数空间的点( p,q),结束循环。 图形:见图 形图形着色方案 彩模式是工业界的一种颜色标准,是通过对红 (R)、绿 (G)、蓝 (B)三个颜色通道的变化以及它们相互之间的叠加来得到各式各样的颜色的, 是代表红、绿、蓝三个通道的颜色,这个标准几乎包括了人类视力所能感知的所有颜色,是目前运用最广的颜色系统之一。目前的显示器大都是采用了 色标准,目前的电脑一般 都能显示 32 位颜色,约有一百万种以上的颜色。 在数字视频中,对 基色各进行 8 位编码就构成了大约 种颜色,这就是我们常说的真彩色。 我们对分形图形进行着色也使用这种色彩模型。 颜色设置:我们根据逃逸时间算法的循环次数来给分形图着色,假定 k 为循环次数,也就是上面所说的逃逸时间, 颜色锐化值, R, G, B 的初始值,有如下结果: k *= k + k + k + 下面对求得的 个值进行变换。因为程序绘图时使用 24位真彩色,所以 R,G,B 三个值的大小都不应该超过 8 位的最大值,即 255,而这个 8 位的最大值,用 16 进制表示就是 0果 R,G,B 中的任何一个值大于0对其进行 0位运算。然后再将根据上述步骤求得的 R、 G、 B,用函数 ,G,B)换成色彩,从而实现对 的着色。用计算机语言来表示就是这样: ( 0 0 0 ( 0 0 理 学学士学位论文 第二章 分形相关理论问题 7 0 ( 0 0 0上面的 别表示 色模型中的 R, G, B。 0行 &运算表示取这三个值的最低九个位, &运算在这里表示按位与运算符,它对运算符两边的数字的每一个位进行计算,如果两个位都为 1 的话,那么运算结果就为 1,否则为 0。 运算在这里表示按位异或运 算符,它对运算符两边的数字的每一个位进行计算,如果两个位不同的话,那么运算结果就为 1,否则为 0。这个算法主要是为了平滑分形图形的色彩变化,让图形看起来更有美感。 与 图形的矢量变换 1, 与 的矢量移动:在逃逸时间算法中,一共有两个窗口,一个是绘图窗口,一个是参数窗口,其中绘图窗口的大小与位置相对来说是固定的,因为它对应的是窗口的分辨率。实际上, 是将参数 C 走遍参数窗口的所有值,经过逃逸时间算法的运算最终在绘图窗口中画出图 来,那么参数窗口的大小和位置就决定了所绘 的放大区域。如果要对窗口中的图形进行移动,我们可以选择使用移动参数窗口的方法来实现。只要将鼠标移动的位置大小转换成参数窗口移动的位置大小就可以了。令m a x m i n( ) / ( 1 )x x x w i d t h ,m a x m i n( ) / ( 1 )y y y h e i g h t ,表参数窗口值, 示鼠标移动前的位置, 示鼠标移动后的位置。那么就可以得到如下式子: t m p D o u b l e = x M a x - x M i i n = x M i n - x * ( n e w P o i n t . x - o l d P o i n t . x ) ;x M a x = x M i n + t m p D o u b l e ;t m p D o u b l e = y M a x - y M i n ;y M i n = y M i n - y * ( n e w P o i n t . y - o l d P o i n t . y ) ;y M a x = y M i n + t m p D o u b l e ;经过实验证明,这个方法对 与 都适用。 图形矢量移动前后效果对比参见图 图 2, 与 的矢量放大 :先说明对 的放理 学学士学位论文 第二章 分形相关理论问题 8 大 ,是将参数 C 走遍参数窗口的所有值,经过逃逸时间算法的运算最终在绘图窗口中画出图来,由此可知,参数窗口的大小和位置就决定了所绘 的放大区域。已知m a x m i n( ) / ( 1 )x x x w i d t h ,m a x m i n( ) / ( 1 )y y y h e i g h t ,m i n *tp p x p ,m i n *tq q y q , 其 中0 ,1, 2 . 1, 0 ,1, 2 . 1,可以得出: m p p x pq q y q 从而可得: 用计算机语言来描述就是: x M i n = x M i n + x * o l d P o i n t . x ;x M a x = t m p D o u b l e + x * n e w P o i n t . x ;t m p D o u b l e = y M i n ;y M i n = y M i n + y * o l d P o i n t . y ;y M a x = t m p D o u b l e + y * n e w P o i n t . y ;这样我们只要将得到的 ( (替原来的参数窗口值就可以实现对窗 口的放大了。 的放大原理与 的放大原理相同,就不再赘述了。 图形的矢量放大前后效果对比见图 图 3, 的旋转: 由计算机图形学可知,在二维平面上按指定位置rr(x ,y )旋转,需要经过三个步骤: 1、平移对象使移动点位置移到坐标原点。 2、绕坐标原点旋转。 3、平移对象使基准点回到其原始位置。将其写成矩阵形式如下: m i n m i n m i nm i n m i n m i nm a x m a x m a xm a x m a x m a x*p p x pq q x qp p x pq p x p 理 学学士学位论文 第二章 分形相关理论问题 9 1 0 0 c o s s i n 0 1 00 1 0 * s i n c o s 0 * 0 10 0 1 0 0 1 0 0 1c o s s i n (1 c o s ) s i ns i n c o s (1 c o s ) s i 1 转换成式子如下: r r r r r = x + ( x - x ) * c o s - ( y - y ) * s i = y + ( x - x ) * s i n + ( y - y ) * c o s 将这个式子应用到 绘制算法中,这里假定绕屏幕的中点旋转,屏幕的宽度为 度为 坐标表示为 (, ),从前面绘制 的方法中可知下列两个步骤: 10 m i n *xx x n x ,0 m i n *yy y n y 。 2 根据下列的迭代过程从 ( , ), ),计数 t=t+1。 2211 2t t tt t tx x y py x y q这里只需要修改 ,以可得: xx x e m p = = w i d t h / 2 + ( n - w i d t h / 2 ) * c o s - ( n - h e i g h t / 2 ) * s i =
- 温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

人人文库网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。