基于OpenGL的粒子系统的喷泉模拟

来源 :电脑知识与技术 | 被引量 : 0次 | 上传用户:SONGZHIQIANGAAAA
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘要:喷泉景物模拟可以被广泛地运用于能源、娱乐、游戏开发等等行业领域,但喷泉景物具有流动性、随机性,而粒子系统是目前模拟不规则模糊景物的最成功的算法。本文加入力场以及透明度,利用OpenGL底层图形库的高性能设计出高真实度粒子系统喷泉模型。最后通过在普通PC机上运用VS2010编程实现模拟,显示模拟图形具有很好的实时性和真实度,可以满足一般的动画需求。
  关键词:粒子系统;喷泉模拟;OpenGL
  中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2018)14-0217-02
  1 引言
  人们不断寻求更多的人机交互的方法,自然景物的三维图形模拟也便成为其中非常热门的领域。而粒子系统就是目前被认为是模拟不规则模糊景物的最成功的算法。
  1983年,Reeves[1]首次提出粒子系統的概念,这种算法拥有很好的动态性和随机性,是以往图形学中几何建模无法比拟的。万华根[2]等人提出了N-S方程的一个求解特例,用圆球作为粒子元模拟出喷泉,但计算复杂,计算量大。本文结合粒子的物理动力学,在基于OpenGL的环境下渲染粒子,以实现对于喷泉模拟高真实度的要求。
  2 高真实度粒子系统算法
  粒子系统主要分为以下几步[3]:生成新的粒子,粒子死亡,绘制粒子。如下图1所示。
  1)生成适量的新的粒子:粒子会在系统中的一个点产生,生成后会被赋予其独立的属性,具体初始属性有如下几种:初始速度V、初始方向D、X方向初速度VX、Y方向初速度VY、Z方向初速度VZ、运动状态Type、粒子淡化[4]Alpha、粒子能在空中的最高高度H。
  之后粒子开始运动,粒子的各项属性不断更新。粒子的位置从t0开始作为时间轴,每隔△t进行一次位置变换。
  3)利用OpenGL函数绘制粒子:接下来要做的是将这些粒子制作成水滴的形状和颜色,因此可以运用3D彩色点渲染粒子。本文选择四边形作为基本纹理图案纹理映射。因为每个四边形都是不能被看到的,所以在坐标系中,所有四边形面片都设置为平行于XOY平面[5]。如下图1:
  根据这四个顶点的坐标,再调用OpenGL函数进行纹理映射。OpenGL中函数glTexCoord可以用来设置纹理坐标,结合四边形坐标设置纹理映射位置。再调用OpenGL函数glVertex3f映射水滴的纹理图片,此时也就完成了对应的粒子纹理融合。
  绘制过程中,当两个或多个四边形粒子重合时,通过启用opengl中的混合功能来使水珠粒子融合在一起:
  以便让所有具有不同Z坐标(深度值)的粒子绘制并平滑地混合在一起。OpenGL函数的调用给粒子进行了绘制和融合,使模型的喷泉水滴更真实,水滴的运动过程符合客观规律,增强了粒子系统的真实度。
  3 实验结果分析
  结合粒子系统的原理以及OpenGL图形库在电脑上进行操作。先对粒子系统进行试验,设计粒子初始位置为屏幕的中心。初始最大粒子数根据多次试验,选取1000为最适合观察的数量。开始的粒子速度设定为随机,就会在粒子诞生后有一个爆炸效果,但因为设置的粒子加速度x轴为0,y轴为-0.8,z轴为0,粒子会出现统一向下的运动。设定粒子的颜色有红黄蓝三种颜色参数,设定三色参数随机改变,粒子系统也就形成彩色状态,最终形成下面图3产生的效果。根据初始状态进行试验,改变最大粒子数,选取了最大粒子数为100和10000的分别进行比较,如下图4是对屏幕内最大粒子数100和屏幕内最大粒子数10000的粒子系统效果比较。
  粒子在运动过程中保持初始设定的加速度,粒子运动统一,增加粒子y轴的加速度,粒子呈现如图5的效果图,恢复初始状态后增加x轴加速度效果如图6所示
  进行以上试验后,对于设定不同粒子各项参数产生的不同效果进行了了解,再开始设计喷泉的效果图。实验为喷泉模型,只设置重力作用,粒子系统内粒子加速度都设置为向下的重力加速度[6]。
  可知水珠粒子的运动速度v和位置p
  v为水珠粒子的当前速度,v0为水珠粒子的初始速度,g为水珠粒子的加速度,t为时间的变化,p为当前位置,p0为初始位置。
  然后开始生成粒子并赋予粒子初始属性,粒子的初始速度全为垂直向上。最终就得到动态的数个喷泉,如图7所示。
  得到的喷泉粒子具有随机性,喷泉模型具有动态感,粒子运动轨迹符合自然中喷泉水滴的重力场作用,粒子的落地消失也符合自然中喷泉水滴的客观规律。经过多次试验,选取的粒子最大量达到了真实度和计算效率的平衡,实现了模型对于真实度的要求。
  4 结语
  以上着重讨论对喷泉粒子系统在OpenGL环境下的建模方式,主要为:粒子的初始属性设定,粒子在生命周期内的运动,粒子的消亡以及粒子的绘制,加入重力场。实现出来的粒子系统具有动态性、高真实度。考虑粒子系统动态性,设计粒子系统内粒子数量范围以及粒子力场的建立是实现真实度的关键部分。粒子的Alpha参数带来的落地消亡效果更增强了喷泉的真实。最后,本文在撰写过程中,得到了本科学业导师李晖老师悉心的指导,在此特此感谢!
  参考文献:
  [1] Reeves W T. Particle systems a technique for modeling a class of fuzzy [J] Computer Graphies, 1983,17(3):359-376.
  [2] 万华根,金小刚.基于物理模型的实时喷泉水流运动模拟[J].计算机学报,1998,21(9):774-779.
  [3] 蒋恒恒,章国稳.利用粒子系统实现喷泉模拟[J].重庆邮电大学学报(自然科学版),2008,20(6):749-753.
  [4] 谢剑斌,郝建新,蔡宣平,等.基于粒子系统的雨点和雪花降落模拟生成[J].中国图象图形学报,1999,4(9):734-738.
  [5] 徐利明,姜昱明.基于粒子系统与OpenGL的实时雨雪模拟[J].计算机仿真,2005,22(7):245-245.
  [6] 肖何,何明耕,白忠建,等.OpenGL中基于粒子系统的喷泉模拟实现[J].计算机仿真学报,2007,24(12):201-204.
  [7] 罗维佳.基于粒子系统的三维场地降雨实时模拟[J].中国图像图形学报,2004,9(4):495-500.
  [8] Szeliski Richard , Tonnesen David.Surface modeling with orient-ed particle system[J].Computer Graphics, 1992,26(4):185-194.
  [9] Reynolds Craig W. Flocks, herds, and schools: A distributedbehavioral model[J].Computer Graphics, 1987,21(4):25-34
其他文献
目的研究联合奥美拉唑和甲氧氯普胺抗胃食管反流治疗对哮喘症状控制的临床疗效。方法将142例哮喘伴胃食管反流患者随机分为两组,均采用常规抗哮喘治疗,治疗组加用奥美拉唑20m
语文阅读生态课堂指的是教师引导启发,学生读悟说写,以生命活动为载体,以情感意志为动力,思想在碰撞,灵感在闪光,情感在激荡,师生迸发出强烈的生命活力的那样一种课堂。语文阅读生态课堂符合语文新课标要求:教师引领学生走进文本,与文本对话,与文本中人物对话;引领学生自主阅读、感悟语言文字蕴含的画面和情感;引领学生合作探究、质疑辩论,在交流中碰撞出火花。建构语文阅读生态课堂,教师有哪些导读基本策略?笔者在教
摘要:为保证物流分拣机器人的稳定性和可拓展性,该文提出一种基于虚拟仪器技术开发的磁带引导物流分拣机器人。该机器人以嵌入式设备myRIO为控制核心,LabVIEW为基础开发软件,包含了视觉识别模块、侧翻预警模块、定位导航避障系统、高位自卸机构等。各模块由上位机统一进行控制与编程设计,操纵机器人实现预定功能。  关键词:物流分拣机器人;虚拟仪器技术;上位机控制系统;视觉识别系统;定位导航避障系统  中
摘要:贝叶斯网络算法是基于事件发生的一种概率信度计算。为了准确判断各个事件发生的概率,提高判断的精度与准确度,提出了一种贝叶斯网络的分层推理算法。这种方法将贝叶斯网络进行结构化处理,对于节点集进行分析,更精准的去推测事件的概率。分层推理是在贝叶斯网络的基础上,结合贝叶斯网络的推理算法提出算法的基本思想,再在理论上进行推理验证,最后进行仿真试验验证该算法的准确性与可实施性。  关键词:贝叶斯网络;信
有朋友问“成语”这词是如何产生的?这涉及成语这个语言事实,还涉及“成语”形义的历史发展。我们从这两个方面来回答这个问题。  《诗经》中的语句被引用来表达己意者,先秦典籍中不难看到,《诗经》中的一些语句被反复引用,历代沿习,流传至今成为成语的约有150多条,如:“战战兢兢、小心翼翼、高高在上、求之不得、不可救药、有的放矢”等。再如狐假虎威的故事,先秦典籍中多有记载。浓缩这一故事的四个字“狐假虎威”相
仔细研读洪宗礼老师公开发表的一些代表性课例以及若干精彩的课堂教学艺术镜头,再将视野拓宽到他的《三阶十六步》《作文百课》《辩证思维训练》《双引教学法》等著作中的大量课例及训练设计,笔者感到:“实”与“活”的结合是洪宗礼课堂教学艺术的发轫点、原动力,成为他的课堂教学艺术的内核,形成了他的课堂教学艺术的鲜明风格。  如何认识洪宗礼课堂教学艺术的“实”?所谓“实”,是要语文课真正姓“语”:从教学目标的确定