- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于粒子理论的焰火模拟系统设计
摘要:该文简单介绍了粒子系统,分析了焰火的特点,设计了基于粒子理论的模拟系统,并对焰火模拟系统中的主要算法进行了深入细致的探讨,最后分析了算法实现的技巧。
关键词:粒子理论;焰火;模拟
中图分类号:TP34文献标识码:A文章编号:1009-3044(2010)09-2204-03
Design on Fireworks Simulation based on Particle System
YOU Xin
(Changsha Aeronautical Vocational and Technical College, Changsha 410124, China)
Abstract: It briefly describes the particle system, analysis of the characteristics of fireworks designed simulation system based on particle theory, and fireworks in the main algorithm simulation system conducted in-depth and detailed discussions of the algorithm the final analysis, the techniques.
Key words: particle system; fireworks simulation
1 粒子系统的简介
粒子系统的基本思想是用大量的,具有各种特性的粒子图元(点,线,多边形,简单几何体)动态地描述自然界中不规则的模糊景物。每个粒子在任一时刻都具有随机的形状,大小,颜色,透明度,运动速度等属性,并随着时间的推移发生位置,形态的变化。每个粒子的属性及动力学性千周均由一组预先定义的随机过程来说明。粒子在系统内都要经过“产生”,“活动”和“死亡“这三个具有随机性的阶段,在某一时刻所有的存活粒子的集合就构成了粒子系统的模型。
2 焰火的分析
粒子系统方法为模拟焰火提供了有力的工具,但要想模拟出逼真的效果,必须仔细分析焰火显示的细节和特点。
1) 焰火有五彩缤纷的颜色。不同的焰火,颜色不同。同一团焰火,颜色也会发生变化。
2) 焰火有不同形状。有些焰火有特殊的显示效果。有的焰火会闪烁、有的焰火会在空中旋转等。
3) 每团焰火显示的位置和大小不同。
4) 每团焰火绽放的速度、持续的时间不同。
5) 焰火是慢慢地消失的。
考虑到上述焰火显示的特点,运用粒子系统方法就可以进行焰火的模拟了。
3 焰火模拟系统设计
焰火模拟系统包括许多功能模块,用来改变、调整、发展粒子的不同特性,它们都以时间为参数,相关程序处理粒子的相关特性。焰火的模拟系统从功能上可以分为七个部分。结构图如图1所示。
诞生控制:产生适当数量的新粒子,赋予每个粒子初始特性,如初始位置、初始颜色、初始速度、初始大小、生命周期等。
运动控制:处理粒子运动,对粒子的位置、速度和加速度进行计算,实现加速或减速效果;另外通过粒子的反弹参数对粒子进行反弹计算。
颜色变化:通过适当的参数,改变粒子的颜色和透明度。在实际模拟时,为了减少计算量,也可预先建立颜色索引表,通过它来实现粒子颜色的变化。
特殊效果:处理焰火显示的特殊效果,例如鼠状效果和旋转效果。
删除控制:删除那些满足条件的粒子。当粒子的年龄达到生命值时,删除粒子;当粒子的位置超出显示区域,删除粒子;当粒子的颜色变为黑色或完全透明,删除粒子。
闪烁/显示:可以处理粒子的闪烁效果,也计算和显示星状效果的粒子的四条胳臂,自然,它也处理显示那些正常的、无闪烁、无星状效果的粒子。
尾迹控制:产生粒子运动时的尾迹。在每帧通过产生粒子的拷贝得到子粒子。父粒子运动,子粒子静止不动,但其大小、颜色逐渐变化,直到消失。尾迹可以根据实际需要改变长短。
4 模拟系统中主要算法的详细描述
利用粒子系统的方法模拟焰火的显示,关键是如何采用合理的数据结构和代码模拟出焰火显示的各种特性和效果。下面详细的探讨几种主要特性及效果的算法。
1) 颜色:颜色是焰火显示中最重要的一个特性。在焰火模拟中,每团焰火都需要用大量的粒子来描述,用delta_color表示。焰火的颜色有阶段性的变化,可以用一组delta_color值是不同的。可以为每个粒子分配一个年龄值,用帧数表示,随着一帧一帧的渲染,这个值每次加1。根据年龄值可以判断它所处的阶段,从而通过调整delta_color值来实现颜色的变化。需要注意的
文档评论(0)