欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    计算机动画粒子优秀论文实例.docx

    • 资源ID:4620408       资源大小:320.41KB        全文页数:27页
    • 资源格式: DOCX        下载积分:3金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要3金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    计算机动画粒子优秀论文实例.docx

    1、计算机动画粒子优秀论文实例目 录引言 (1)第1章 开发工具简介 (2)1.1 VC+简介 (2)1.2 MFC简介 (2)1.3 OpenGL简介 (3)第2章 粒子系统(3)2.1粒子系统理论的组成(3)2.2粒子系统的定义(4)2.3粒子系统的物理模型(4)2.4粒子系统的基本原理(5)2.5粒子系统的基本模型(5)2.6粒子系统的结构(6)2.7生成粒子系统的基本步骤(6)2.8粒子系统的设计要求(6)第3章 烟花粒子系统(7)3.1烟花粒子系统的物理模型分析(7)3.2烟花粒子系统的基本模型(7)3.3烟花粒子系统的实现(9)3.3.1烟花粒子的数据结构(9)3.3.2系统的类层次关

    2、系(9)3.3.3系统的功能模块 (10)3.3.4系统的生成步骤 (10)第4章 总结 (17)致谢(17)参考文献(17)附录(19)基于的VC+OpenGL的烟花粒子系统设计学生:胡长俊指导老师:尹星云 王宜结淮南师范学院信息技术系 摘要:自1983年Reeves提出粒子系统方法以来,已有许多利用粒子系统来模拟自然现象的研究工作。粒子系统充分体现了不规则模糊物体的动态性和随机性,能很好地模拟三维复杂的自然景观。粒子系统方法被认为是迄今为止模拟不规则模糊物体最为成功的一种图形生成算法。烟花粒子系统采用粒子系统与纹理映射相结合的方法,同时使用BillBoarding技术,从而逼真地模拟出烟花

    3、燃放时的动态效果,并具有一定的实时性。Abstract:Since Reeves brought up Particle System Method in 1983,most people have drawn on it to study and imitate various phemomena.Particle System embodys irregular and misty objects characteristics of dynamic and random nicely,so it can imitate sophisticated 3D landscape very we

    4、ll.So far,Particle System method has been recognized a kind of the very succesful computer graphicss calculating sketches, which can imitate irregular and misty objects .Firework Particle System adopts Particle System combinating with Texture Mapping and uses BillBoarding technique so that it can im

    5、itate fireworks dynamic effect lifelikely when it was let off.At the same time, Firework Particle System can echo timely on some degree. 关键词:粒子系统;烟花;纹理映射;VC;OpenGLKey words:particle system;firework;texture mapping; vc;opengl引言 随着计算机图形学的发展和计算机性能的不断提高,使得计算机图形学在虚拟现实、视景仿真等方面的发展日新月异。计算机视景仿真是当前的热门研究课题之一,尤

    6、其是对一些离散的或者动态的自然景观和人文景观例如烟、雾、喷泉和烟花等等的模拟,更具有挑战性。由于这些物体的逻辑结构很难表达,而且还会动态地变化,因而很难用几个图元来表示它们。自1983年Reeves提出粒子系统(Particle System)方法以来,已有许多利用粒子系统来模拟自然现象的研究工作。粒子系统采用了一套完全不同于以往造型、绘制系统的方法来构造和绘制景物。它将景物定义为由大量随机分布的粒子集合组成,通过大量的简单图元来表示景物的整体形态和特征以及动态变化。粒子系统充分体现了不规则模糊物体的动态和随机性,能很好地模拟烟、火焰、雪花、雾、烟花等三维复杂的自然景观。因而粒子系统方法被认为

    7、是迄今为止模拟不规则模糊物体最为成功的一种图形生成算法。粒子系统发展到现在,已经成为三维引擎中不可或缺的部分,其在大型工作站上的应用日趋成熟。在真实火焰方面,国内外已有一系列的研究成果。詹云开及张芹等给出了焰火模型,但涉及烟花模型的研究很少。由于烟花燃放时的形状复杂多样,要在一种模型中完全包含烟花的各种形式是非常困难的。因此本文只对比较典型的烟花形状的动态模拟进行研究,通过分析烟花产品在空气中爆炸的物理现象,设计几种烟花粒子模型,同时结合纹理映射的知识,对烟花动态模型进行模拟,并在微机上实现。本文共有四章。第一章简单介绍开发工具;第二章详细论述粒子系统包括它的理论组成、定义、物理模型、基本原理

    8、、概念模型、基本结构、生成步骤以及设计要求;第三章在基于第二章的基础上详细论述了烟花粒子系统包括它的物理模型分析、基本概念模型以及整个系统的实现;第四章进行总结,分析了系统的优缺点。第1章 开发工具简介1.1 Visual C+(简称VC+)简介 Visual C+是Microsoft公司的重要产品之一Developer Studio工具集的重要组成部分。它用来在Windows(包括Windows 95、Windows 98、Windows NT、Windows 2000等)环境下开发应用程序,是一种功能强大的、行之有效的可视化编程工具。它具有易用、通用和开发效率高的特点。Visual C+以

    9、可视化技术为基础,以C+语言为蓝本,以众多的集成工具为骨架,在计算机领域的诸多方面都发挥着重要的作用。 Visual C+提供了简洁实用的开发环境,集成的工具集能够让用户高效率地开发应用程序,适合于一般的应用程序开发。Visual C+提供了MFC(Microsoft Foundation Classes)类库,一般性工 作可以全部交给VC+来完成,用户只要在其基础上做出自己想要实现的功能即可。与Turbo C等工具相比,VC+完成目标(尤其对于图形界面的程序)所花费的时间要少得多。1.2 MFC(Microsoft Foundation Classes,微软基本类库)简介MFC是一个建立在W

    10、indows API之上的C+类库,也是一个Application Framework。它的意图是使Windows程序设计过程更有效率,更符合面向对象的精神。它是微软公司对庞大的标准Win32 API函数的封装,提供了图形环境下应用程序的框架及创建应用程序的组件,通过VC+的Wizard功能简化了Windows应用程序的编写工作。MFC库提供了大量的基类供程序员根据不同的应用环境进行扩充,允许在编程过程中自定义和扩展应用程序中的类即MFC采用分层设计让用户能够根据需要轻松扩展框架,从框架的类中派生自己的自定义类,这样无需从头实现自己的Windows对象,而是依赖MFC的代码库,增加自己需要的功

    11、能。MFC具有良好的移植性,可移植于众多的平台,很好地保持了程序的兼容性。然而MFC并没有封装进Win32 API的全部特性,所以有时不得不调用一些Win32 API函数来实现一些特定功能。MFC支持三种不同的应用程序,分别是:单文档界面(SDI);多文档界面(MDI);基于对话框的应用程序;本系统烟花粒子系统就是一个单文档应用程序。1.3 OpenGL简介 OpenGL是SGI公司开发的一套高性能的计算机图形处理系统,是图形硬件的软件接口。它是目前用于开发可移植,可交互的2D和3D图形应用程序的首选环境,并且它已经成为高性能图形和交互式视景处理的工业标准。OpenGL所具有的功能基本上涵盖了

    12、计算机图形学所要包括的各个方面的内容。它不仅可以处理单幅的离散图形,而且在三维动态仿真领域,由于其对环境及实体渲染的高度逼真的视觉效果,也显示出了强大的生命力。 OpenGL具有高度的开放性、可移植性、网络透明性等特点。任何一个OpenGL应用程序无须考虑其运行环境所在的平台与操作系统,在任何一种遵循OpenGL标准的环境下都会产生相同的可视化效果。 OpenGL是一种API(Application Programming Interface,应用程序编程接口)。它集成了所有曲面造型、图形变换、光照、材质、纹理、像素操作、融合、反走样、雾化等等复杂的计算机图形学算法。它可适用于游戏开发、科学计

    13、算可视化(运动仿真、有限元分析、医学成像、气候模型模拟等)、虚拟现实技术、影视广告、CAI等领域。第2章 粒子系统2.1 粒子系统理论的组成1 物质的粒子组成假设。粒子系统中,把运动的模糊物体看作由有限的具有确定属性的流动粒子所组成的集合,这些粒子以连续或离散的方式充满它所处的空间,并处于不断的运动状态,粒子在空间和时间上具有一定的分布。2 粒子独立关系假设。包含两层含义,一是粒子之间不存在相交关系,并且粒子是不可穿透的;二是粒子系统中各粒子不与场景中任何其它物体相交。3 粒子的属性假设。系统中的每个粒子并不是抽象的,它们都具有一系列的属性,如质量属性、存在属性、存在的空间位置属性、外观属性(

    14、如颜色、亮度、形状、尺寸等)、运动属性(如速度、加速度等)、生存属性(生命期),其中颜色、亮度等属性随着时间不断地发生变化。4 粒子的生命机制。粒子系统中的每一粒子都具有一定的生命周期,在一定的时间周期内,粒子经历新生、活动和消亡三个基本生命历程。5 粒子的运动机制。粒子在存活期间始终是按一定的方式运动的,如加速运动、减速运动等。6 粒子的绘制算法。2.2 粒子系统的定义根据粒子系统理论,可以得出粒子系统模型的形式描述如下:定义1 (粒子,Particle)定义为实数域上的一个n维向量,表示为其中,, , ,是粒子的n个属性。通常包括:粒子的空间位置、运动速度及加速度、大小、颜色、亮度、形状、

    15、生存期以及剩余生存期等。单个粒子是组成粒子系统的基本元素。定义2 (粒子映射)单个粒子到正整数集的映射,其中每一个粒子具有一个索引,表示为到的映射。 表示索引为i的粒子的性质和状态。定义3 (粒子系统)为粒子映射集的有限集合,表示为: ,S表示粒子系统在时刻, ,的状态集合,是初始时刻粒子系统的状态。2.3 粒子系统的物理模型在粒子系统的设计中,几乎都离不开物理模型的运用。常用的物理模型主要有两类:一是基于假想的物理模型,主要是为了方便的模拟实际单体的形态及运动而假想物体的组成、构造以及动力学方程来进行建模。常见的主要是喷泉、雾、火焰、雪花等粒子系统。二是基于物体实际的组成、构造以及运动规律而

    16、进行建模。如波浪、枝条的摆动、人及动物的运动等都是用了该类模型。对于一些简单物体,可对整体列出动力学方程,然后按帧改变位置、状态,获得模拟动画的效果。对于复杂的物体常将其分成若干部分,针对每一部分列出动力学方程,每帧对每个部分分别计算后,再绘制一般过程。2.4 粒子系统的基本原理粒子系统方法的基本思想是将大量的,具有一定生命和属性的微小粒子图元(如像素点、圆形、三角形、矩形等简单形状)作为基本元素聚集起来,从而构成一个封闭的系统粒子系统来描述一个不规则的模糊物体。在粒子系统中,每一个粒子图元均具有:形状、大小、颜色、亮度、运动速度和运动方向、生命周期等属性,所有这些属性都是时间t的函数。粒子所

    17、具有的属性主要取决于具体的应用。粒子系统并不是一个简单的静态系统,随着虚拟世界时间的流逝,系统中已有的粒子不仅不断改变形状,不断运动,而且不断有新的粒子加入,并有旧的粒子消亡。为模拟产生和消亡过程,每个粒子被赋予一定的生命周期,每个粒子都要在虚拟世界经历“产生”、“活动”、“消亡”三个阶段。同时,为使粒子系统所表示的景物具有良好的随机性,与粒子有关的每一个参数均受到一个随机过程的控制。粒子系统的随机性,可采用一些非常简化的随机过程(如对每一粒子的参数均先确定其变化范围,然后在该范围内随机地确定它的值)来控制粒子的形状、特征及运动。粒子的初值就由随机过程产生,粒子也往往是由位于空间的某个地方的粒

    18、子源产生。粒子系统方法的这一特征,使它充分体现了不规则模糊物体的动态性和随机性。2.5 粒子系统的基本模型图1 粒子系统的模型图2.6 粒子系统的结构图2 粒子系统的结构图2.7 生成粒子系统的基本步骤首先根据待描述的具体粒子系统的外观特征,分析得到粒子的外观属性;然后研究所描述的粒子系统的运动及变化特点,抽象出粒子的运动和变化规律,再对所得到的属性进行定量描述;最后逐帧生成图像。即:生成一定数量的新粒子加入系统;赋予每一新粒子以一定的初始属性;除去那些已经超过其生命周期的粒子;根据粒子的动态对粒子进行变换及改变属性;绘制并显示有生命的粒子组成的图形。2.8 粒子系统的设计要求1 实时效果:即

    19、能够实时模拟动态景观,要求粒子系统效率非常高,CPU有大量剩余时间完成其它计算。2 灵活性:即用户能够灵活地使用粒子系统,通过许多子模块构建各种不同场景效果。3 参数独立性:即参数的逻辑层次要清晰,并且独立于外部系统。4 模拟质量的可伸缩性:即可以通过调节参数来调整虚拟场景的模拟精确度。5 可学习性和可扩展性:指粒子系统应该易学习使用,并且可对其进行必要的修改扩展,以适应不同虚拟现实系统开发的需要。第3章 烟花粒子系统3.1 烟花粒子系统的物理模型分析 烟花燃放时在空中呈千姿百态。烟花显示的形状是指我们能看到的烟花的外部整体形状,最典型的形状是球形(如牡丹、锦冠、大丽等)、菊花状(如菊花、慧星

    20、、花蕾等)、环状(红绿双环、笑脸等)、椰树形(金椰、银椰、蓝椰、绿椰等)、风车类(三角风车、六角风车等)及其它效果(瀑布、拉手、游星、蝴蝶、日景等)。 烟花燃放过程的整个运动由两个粒子发射处。一个是燃放点即燃放烟花的位置;另一个是烟花冲向空中后的爆炸点,它是随机的,烟花的形状也主要由它来控制。 通过烟花燃放的运动过程可以知道烟花的燃放有两种情况:一种是燃点即炸点处,如三角风车之类的烟花。另一种是燃点处与炸点处不同,显然它要分为两段来处理。首先,在燃放点并不产生所有的粒子,只是一个粒子向空中冲去。这样可以设置若干个随机燃放点并赋予粒子以初始属性。第二个过程是在空中某点爆炸,而这个炸点必须根据烟花

    21、冲向空中的运动规律在相应的位置爆炸,可以在某一帧或某一时间段产生。3.2 烟花粒子系统的基本模型烟花燃放的形状有许多种,对不同的形状粒子将有不同的属性。本文只对几种最基本的模型和几种典型的烟花进行模拟,其它许多类型的烟花可以由它们合成。下面是对用粒子系统模拟这几种烟花模型进行分析。 天女散花用粒子系统来模拟“天女散花”的烟花模型可以从以下几下方面来进行描述:1 烟花的燃放过程犹如爆炸过程。粒子只在帧产生,而在随后的序列中只要改变在帧产生的粒子属性即可,而不必产生新粒子。此时要注意初始粒子的数量,它决定了烟花的密度。数目过少,模拟的效果失真;数目过多,实时性受到影响。2 由于实际燃放烟花产生的形

    22、状各异,要完全模拟实际情况显然是不太可能的。但可以通过预先定义一系列不同形状的粒子形状,如点、三角形、矩形等,把它们分别编号为1,2,n,然后用随机函数伪烟花粒子增加形状属性,同时结合纹理映射来实时地模拟烟花形状。形状=int(形状均值+rand()形状方差),其中int()为取整函数。3 粒子的活动。粒子被赋予属性后,粒子开始进行活动。伴随着虚拟世界时间t的流逝它不断地改变着自己的各种属性值。根据物理动力学等相关知识可得第帧时粒子的各属性值为:位置 速度其中,为粒子的加速度颜色其中,为粒子的颜色的变化率生存期4 粒子的消亡。消亡条件生存期减至零或运动出了边界或粒子的属性超过了事先设定的阈值。

    23、 束状 粒子的属性、活动及消亡的条件同上所述。通过改变纹理映射模拟出烟花粒子团,从而呈现束状的烟花效果。 烟花粒子团即一组有限的,具有某种相似性质的烟花粒子的集合。每个烟花有一个头粒子(根部)和一组尾粒子(上端),它们具有相同的颜色、形状和速度,并且头粒子最大最亮,其它粒子逐渐变细变暗,亮度和大小的变化速率相等。其中头粒子与尾粒子的位置关系可以是线性变化的,亦可以是随机变化的,因而可以产生不同形状的烟花。 牡丹和激光 我模拟的只是烟花的外观形状,不涉及相关过程的物理和化学反应过程。在运动过程中仅考虑重力的作用(忽略风等自然因素和向心力等到非自然因素的一切阻力),按牛顿第二定律对粒子的运动进行模

    24、拟。 用粒子系统来模拟牡丹和激光的烟花模型的具体过程是:让烟花在空中爆炸呈球状,粒子只在某一帧产生,在后面的运动过程中不再产生新粒子(其中粒子的属性、活动及消亡的条件同上所述),然后将球状的烟花模型投影至平面,分别加上不同的纹理映射,结合BillBoarding(BillBooard是让二维纹理或者面元经过旋转后总是朝向观察者的一种技术。它的基本思想是:首先把一幅静态图像作纹理映射到简单的几何平面上,然后根据视点的位置变换平移或围绕物体本身旋转平面,使视点始终与该平面正交,同时利用Alpha融合技术,使平面本身不可见,仅让有用的部分图像显示出来。)技术即可得到我们想要的烟花模型。3.3 烟花粒

    25、子系统的实现3.3.1 烟花粒子的数据结构烟花粒子的数据结构定义如下:struct fire_point float dir; /粒子运动的方向 float speed; /粒子的速度 float r, g, b; /粒子的颜色 float x, y; /粒子的位置坐标;struct firework int type; /烟火的类型 float x, y; /主位置 float t; /生命时间 float dir; /方向 int flag, counter; /标志,计数器 struct fire_point fpMAX_POINTS; /爆炸粒子 struct firework *ne

    26、xt; /下一个烟火; 3.3.2 系统的类层次关系图4 系统类层次图 3.3.3 系统的功能模块图5 烟花粒子系统的功能图3.3.4 系统的生成步骤下面只列出“天女散花”模型的绘制步骤,其它模型的烟花的绘制步骤都一样,只是纹理映射的参数不一样,因此不一一列出。“天女散花”的绘制步骤如下:在燃放点处添加烟花粒子void CMyFireworkView:AddFirework() / 添加新的烟火 if (fw = = NULL) fw = (struct firework *)malloc(sizeof(struct firework); fw-next = NULL; else fw_tem

    27、p = (struct firework *)malloc(sizeof(struct firework); fw_temp-next = fw; fw = fw_temp; 赋予烟花粒子初始属性void CMyFireworkView:AddFirework() fw-x = 0;fw-y = 0;fw-flag = 0;fw-t = 20; fw-counter = 0;fw-dir = (rand() % 70)-35;for (i=0; ifpi.dir = (rand() % 360); if (fw-type & 4) fw-fpi.speed = (float)(rand() %

    28、 1000)/100000; else fw-fpi.speed = 0.005+(float)(rand() % 1000)/1000000; fw-fpi.x = 0; switch(fw-type) case 0:fw-fpi.r = 1;fw-fpi.g = 1;fw-fpi.b = 1;break;/白色 case 1:fw-fpi.r = 1;fw-fpi.g = 0;fw-fpi.b = 0;break;/红色 case 2:fw-fpi.r = 0;fw-fpi.g = 1;fw-fpi.b = 0;break;/绿色 case 3:fw-fpi.r = 0;fw-fpi.g

    29、= 0;fw-fpi.b = 1;break;/蓝色 case 4:fw-fpi.r = 1;fw-fpi.g = 1;fw-fpi.b = 0;break; case 5:fw-fpi.r = 1;fw-fpi.g = 0;fw-fpi.b = 1;break; case 6:fw-fpi.r = 0;fw-fpi.g = 1;fw-fpi.b = 1;break; default:fw-fpi.r = (float)(rand() % 256)/255;fw-fpi.g = (float)(rand() % 256)/255;fw-fpi.b = (float)(rand() % 256)/255;break;/随机颜色 if (fw-fpi.r = = 0) fw-counter+; if (fw-fpi.g = = 0) fw-counter+; if (fw-fpi.b = = 0) fw-co


    注意事项

    本文(计算机动画粒子优秀论文实例.docx)为本站会员主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 冰点文库 网站版权所有

    经营许可证编号:鄂ICP备19020893号-2


    收起
    展开