欢迎来到天天文库
浏览记录
ID:5997785
大小:28.00 KB
页数:6页
时间:2017-12-30
《基于粒子系统与纹理映射烟花动画模拟探究》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、基于粒子系统与纹理映射烟花动画模拟探究 摘要:为了更好地模拟烟花动画,通过分析粒子系统和烟花燃放的原理,采用VC++和OpenGL的纹理映射技术,建立了烟花模拟模型。通过控制烟花爆炸后烟花粒子的运动轨迹,对不同形状的烟花进行模拟,并成功模拟了笑脸烟花、奇形四叶玫瑰形烟花等。实验结果表明,该算法具有简单、实时性等优点,实现了对特殊形状烟花效果的逼真性模拟。关键词关键词:烟花动画;粒子系统;纹理映射;动画模拟中图分类号:TP319文献标识码:A文章编号文章编号:16727800(2013)0070168030引言6近年来,计算机技术和动画技术的快
2、速发展,为自然景物的模拟提供了一定的条件。然而,由于自然景物构造的复杂性,对它们进行实时性和真实性的模拟一直是我们追求的目标。特别是对于云、水、雾、烟花等不规则物体的模拟,在计算机图形学和虚拟现实中一直备受关注。1983年,W.T.Reeves[1]首次提出了粒子系统模型,并用其对许多不规则自然景物进行了成功的模拟。它的优点是可以利用非常简单的体素来构造复杂的物体,即一个粒子系统有大量称为粒子的简单体素构成。每个粒子都有一组属性,如位置、速度、形状、颜色和生命周期等。一个粒子究竟有什么样的属性,主要取决于具体的应用。因此,粒子系统为自然景象如火
3、焰、雨、雪、烟花等的模拟提供了强有力的技术支持。目前,国内外已经有很多学者采用粒子系统对自然景物进行成功的模拟。万华根等[4]通过对NS方程的求解并结合粒子系统来模拟喷泉,同时利用圆球实现水滴,采用光线跟踪算法绘制。1985年,WilliamT.Reeves和BlauR.[4]采用“volumefilling”基本单元模拟了随风飘动的花草树木,很好地发展了粒子系统。目前,在模拟烟花方面,国内外已有一系列的研究成果。1992年T.Loke等人[5]提出一种用粒子衍生法来表现烟花粒子轨迹的绘制算法,同时采用链表数据结构的存储方式,实现了多种烟花的特
4、殊效果。陈利平[6]、甘露等人[7]通过深入研究烟花燃放过程的特点,给出了不同状态下的烟花的具体算法。然而,用这种算法模拟的烟花,其烟花粒子数目的多少对模拟效果的实时性和逼真性有很大的影响。罗玉玲[9]给出了一种基于粒子系统与纹理映射结合的烟花动态模型,模拟出了较为真实的烟花动态视觉效果。李清畅等人[10]将粒子系统与BillBoarding技术相结合,取得了逼真的烟花模拟燃放效果。6通过深入研究上述方法的优缺点,本文以粒子系统和烟花燃放的基本原理为基础,将VC++和OpenGL中的纹理映射技术相结合,对不同形状的烟花进行了仿真,满足了烟花模拟
5、的实时性和逼真性的要求。1粒子系统基本原理粒子系统的基本组成要素是粒子。通过这些粒子的集合,进行整个形体的表达。在粒子系统中,每个粒子都拥有一组属性,包括形状、颜色、位置、运动速度、生命值等。粒子的形状可以是点、球、立方体、圆等一些简单的形状,也可以是正四面体、矩形体和星形等复杂一点的形状。具体采用的形状取决于粒子系统所要表达的形体。在粒子系统的整个应用中,粒子的状态是随着时间的变化而不断变化的,这个变化的过程,称为粒子的生命期。在生命期的每一刻,需要完成以下四步工作:(1)粒子源产生新粒子。进行粒子的初始化操作,包括粒子数目、生命值、速度、运
6、动方向等属性的预处理。(2)更新粒子属性。由于时间的变化会对粒子的位置、速度、生命值等产生影响,所以应对现存粒子的属性进行更新。(3)删除“死亡”粒子。对粒子的生命值进行检查,若为0则需要从系统中删除该粒子。(4)6绘制粒子。为展现粒子的运动轨迹及各属性的变化,以产生动画的效果,需要对粒子系统中所有现存的粒子进行绘制并显示。2纹理映射技术纹理映射技术在计算机图形学中应用非常广泛,可以降低渲染粒子的复杂度,是一种增强图形真实感的简单有效的手段。2.1纹理映射定义将纹理模式映射到物体模型表面,模拟物体表面细节和光照,称为纹理映射(TextureMa
7、pping)。2.2应用纹理映射步骤为了在OpenGL中使用纹理映射,需要执行以下步骤:①创建纹理对象,并为它指定一个纹理;②确定这个纹理如何应用到每个像素上;③启用纹理贴图功能;④绘制场景,提供纹理坐标和几何图形坐标。2.3应用纹理映射的优势(1)利用纹理图像来描述景物表面各点处的发射属性,可以模拟景物表面丰富的纹理细节,从而提高计算机生成图形的真实性。(2)采用纹理映射的方法在一定程度上简化了建模过程。3.2烟花粒子燃放的不同阶段6本文将烟花粒子的燃放分为3个阶段,描述如下:(1)烟花的上升。创建主粒子,模拟烟花从屏幕下方的一个随机位置向屏
8、幕上方的一个随机位置的快速运动。并通过不断创建尾粒子以及尾粒子不断消亡来产生尾部火焰不断前进的效果。(2)烟花爆炸。当主粒子上升到一定高度,此时y轴方
此文档下载收益归作者所有