粒子系统在雨景仿真中的研究和应用
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
粒子系统在雨景仿真中的研究和应用
【摘要】由于自然现象的不规则性,真实地对自然现象仿真是有难度的,本文详细的介绍了粒子系统的相关内容,并以雨滴粒子为例,系统的介绍了粒子系统在雨景仿真中的应用,通过分析模型中雨粒子的属性及其变化,结合Opengl 技术对雨滴的下落做出了逼真的模拟。
【关键词】虚拟现实;粒子系统;雨景仿真;Opengl
0 前言
逼真的模拟自然景物是计算机图形学具有挑战性的一个课题,其主要原因是自然景物具有随机变化的形状,造型相对困难以及其表面包含的丰富细节。目前,已经有较多的算法和理论对不规则物体的模拟,如JoStarm和EugeneFiume建立的紊流模型;D.S.Ebert等提出的用定义实体纹理的方法来表示气体及其运动,并通过变化纹理参数实现动画等。这其中被认为模拟不规则模糊物体最为成功的一种图形生成算法当数Reeves的粒子系统理论,它具有良好的动态性和随机性,能够逼真地模拟动态景物。因此,对粒子系统方法模拟自然景物方法的研究,有着重要的科学意义和广阔的应用前景。
1 虚拟现实
虚拟现实(VR,Virtual Reality),又称做虚拟环境(VE,Virtual Environment),是一种逼真的集合了视、听、触觉的计算机生成环境,从本质上说,就是一种先进的API,用户可以借助必要的设备以一种自然的方式与虚拟环境中的物体进行交互作用,从而获得一种身临其境的感受和体验。
在虚拟现实技术研究和发展的过程中,其具有三个“I”的特性:①交互(Interaction);②想象(Imagination);③沉浸(Immersion)。
2 粒子系统
目前最常使用的过程模型有如下三类:①基于过程的纹理模型;②基于分形理论的算法模型;③基于动态随机生长原理的算法模型。这其中基于动态随机生长原理的算法模型当中是以Reeves提出的粒子系统为代表,粒子系统是迄今为止被认为是模拟不规则物体最为成功的一种图形生成算法。
2.1 粒子系统简介
用大量的、具有一定生命的粒子图元来描述自然界不规则的模糊景物是粒子系统模型的基本思想。粒子系统中的粒子在任一时刻都具有随机的形状、颜色、大小、透明度、运动速度和运动方向等属性,并伴随着时间的推移其相应属性发生变化。粒子在系统内部要经过“产生”、“活动”和“死亡”三个阶段,在某一时刻所有存活的粒子集合就构成了粒子系统模型。
作为构造具有模糊形状物体的计算模型的方法,粒子系统一般用于对自然景物进行动态模拟。对于任何物体,不论其是固态、液态还是气态,都可以认为是由大量最简单的粒子所构成,粒子系统所要解决的问题就是这些“粒子”的存在和运动遵循的规则和所受的作用。
2.2 粒子系统的基本原理
粒子系统理论主要由以下部分组成:
(1)物质的粒子组成假设。
(2)粒子的独立关系假设。包含两层含义,一是粒子系统中各粒子不与场景中任何其它物体相交,二是粒子之间不存在相交关系,并且粒子是不可穿透的。
(3)粒子的生命机制。在这一生命周期内,粒子要经历“产生”、“活动”和“死亡”三个基本历程。
(4)粒子的属性。
(5)粒子的运动机制。粒子在生存期间按照一定的运动规律在系统中运动,这也是粒子系统模拟动态景物的关键。
2.3 粒子系统的基本模型
每个粒子将经历出生、生长、衰老和死亡这四个阶段,从而生成一系列的运动场景,通常粒子系统模拟景物的基本步骤为:
(1)产生新的粒子,并删除系统中死亡的粒子。
(2)赋予每个新粒子一定的初始属性。
(3)对剩下的粒子根据运动规律及相关算法进行移动和更新。
(4)绘制有生命的粒子组成的图像。
3 雨粒子系统
雨粒子系统由大量的雨滴粒子组成,对于雨粒子系统要考虑的属性有粒子数、粒子产生区域、粒子平均生存期,对于雨滴粒子则要考虑形状、位置、速度、大小、生存期、颜色、透明度等属性。
为了满足过程对实时性的要求,这里对雨粒子系统做了适当的简化,假设所有雨滴粒子的颜色和透明度都相同,并且从粒子的产生到消亡这一过程中这些属性都不发生变化,把这些作为常量属性处理,只需记录每一个雨滴粒子的位置、速度、大小、生存期等关键变量属性,因此可将雨滴表示如下:
雨滴={位置,形状,速度,大小,生存期,颜色,透明度}。
雨滴粒子系统的是通过Opengl技术来实现的。
3.1 Opengl简介
Opengl是一个高性能的图形开发软件包,包括了变换、色彩处理、光线处理、动画处理映射、物体运动模糊效果等功能,表现出十分优越的性能。其强大的图形函数使得开发者不仅可以直接使用自己的数据,还可以利用其它不同格式的数据源文件,极大地节省了开发时间,提高了开发效率。
完整的窗口系统的Opengl图形处理系统的结构如图1所示。Opengl在Client/Server体系结构中,允许本地或远程调用Opengl。
图1
3.2 Opengl功能描述
(1)变换
Opengl图形库的变换包括视图变换、造型变换和投影变换。造型变换包括平移、旋转和缩放三种变换,投影变换有正射投影和透视投影两种变换。
(2)光照和材质设置
在Opengl的光照模型中,光线可以分为:环境光、辐射光、漫反射光和镜面光四大类。
(3)纹理映射
为了使物体看起来更具有真实感,还需要给物体增加现实世界中物体的纹理细节,所以纹理映射增加了模型的逼真性,节省了图形的绘制时间。
(4)特殊效果
为了使场景看起来更加逼真,在场景中增加了透明的效果,就是利用Opengl 对颜色进行融合产生的。通过反走样技术就可以消除场景中的锯齿,对模型进行平滑处理,还可以创建逼真的大气雾化现象来增加场景的视觉效果。
3.3 系统总体设计方案与实现
粒子系统模块
运行结果图片
4 结束语
用计算机生成真实感强的图形一直是计算机图形学领域最具有挑战性的研究方向之一,而自然界中的大多数景物,如山、水、雨、雪等,因为它们形状的不规则性和性质的多变性,它们的模拟更具有挑战性。本文通过对粒子系统在雨景仿真中的应用的研究,阐述了粒子系统的相关内容,同时通过Opengl技术编程实现了对雨滴下落的模拟,实验结果表明更够达到真实模拟动态雨景的效果,增强了实时性,提高了运行速度。
【参考文献】
[1]张闻芳.自然景物的三围表现方法研究[D].湖南大学,2007.
[2]刘明.基于Opengl的大规模场景实时渲染技术的研究[D].华中科技大学,2007.
[3]辛玲.粒子系统在视景仿真中的研究和应用[D].中南民族大学,2008.
[4]李苏军,吴玲达.基于粒子系统的实时雨模拟[J].计算机工程,2007,33:236—238.
[5]薛菲,张荣国,陈大川,张建国.基于粒子系统的雪景模拟算法研究与实现[J].计算机与数字工程,2011,6:11—14.
[6]张帆.虚拟场景中的自然景物模拟[D].南京理工大学,2006.