《基于OpenGL与粒子系统的瀑布场景模拟》由会员分享,可在线阅读,更多相关《基于OpenGL与粒子系统的瀑布场景模拟(34页珍藏版)》请在金锄头文库上搜索。
1、福州大学至诚学院本科生毕业设计(论文)题 目: 基于OpenGL与粒子系统的瀑布场景模拟 姓 名: 林楠 学 号: 210991469 系 别: 计算机工程系 专 业: 计算机科学与技术 年 级: 2009级 指导教师: 谢伙生 2013 年 3 月 30 日独创性声明本毕业设计(论文)是我个人在导师指导下完成的。文中引用他人研究成果的部分已在标注中说明;其他同志对本设计(论文)的启发和贡献均已在谢辞中体现;其它内容及成果为本人独立完成。特此声明。论文作者签名: 日期: 关于论文使用授权的说明本人完全了解福州大学至诚学院有关保留、使用学位论文的规定,即:学院有权保留送交论文的印刷本、复印件和电
2、子版本,允许论文被查阅和借阅;学院可以公布论文的全部或部分内容,可以采用影印、缩印、数字化或其他复制手段保存论文。保密的论文在解密后应遵守此规定。论文作者签名: 指导教师签名: 日期: 基于OpenGL与粒子系统的瀑布场景模拟摘要随着计算机科学技术的迅猛发展,计算机图形学模拟大自然场景也成为一个新的热点研究课题。也随着关注度日益高涨,计算机图形学渐渐走进了人们的视野。动画,广告,电影、游戏,艺术设计等等都能看到它存在的身影。用粒子系统来进行瀑布场景的模拟是一种非常有效并且逼真的方法。由于粒子系统的特殊、微小特征,可以模拟很多不规则形状物体,不规则运动等等,这正好符合大自然很多事物的随意性,无规
3、律性。本文基于OpenGL与粒子系统进行一个瀑布场景的模拟。为了使模拟视觉效果逼真,本系统采用了OpenGL中的纹理映射、光照、颜色、视图等相关知识。首先,对现实瀑布特征进行分析,设计出一个瀑布模型,根据一定的物理知识及数学知识构造出瀑布模型的轨迹,飞流直下,遇到障碍物时飞溅反弹而起再做一个抛物线运动落下。然后通过粒子系统的实现原理,对粒子定义属性,采用二次曲面构造出一个球体并进行纹理贴图以及色彩融合。接下来,通过OpenGL中的相关函数,为瀑布场景的逼真,增添一些多角度旋转、鼠标移动、雾化、颜色变换、音乐播放、文字显示等功能。最后,VisualC+6.0作为编程工具实现以上代码。根据实验证明
4、,基于OpenGL与粒子系统来进行瀑布场景模拟,是一种在一般电脑上就可以实现且效果令人满意的方法。关键字:OpenGL,粒子系统,瀑布场景模拟,纹理映射Waterfall Scene Simulation Based on OpenGL and Particle SystemAbstractWith the rapid development of computer science and technology, simulation of nature scenes using Computer Graphics become a new hot topic. With such growi
5、ng attention, Computer Graphics gradually is applied to more and more fields, such as animation, advertisements, movies, video games and designs of art.Its a very effective and lifelike to simulate a waterfall scene with particle system. With particles special and tiny features, it can be used to si
6、mulate most of the irregular objects and random movements, which just reflects on the nature of nature. This paper describes a waterfall scene simulation based on OpenGL and particle system. In order to make the visual effect of simulation realistic, relevant knowledge including texture mapping, lig
7、hting, color and visions of OpenGL are utilized in this system. First of all, analysis of the characteristics is needed to build a model of a real waterfall. The trajectory of the waterfall can be reconstructed in the computer with certain knowledge of physics and mathematics. The trajectory of the
8、waterfall model can be described as follows: the water rush down, and then it bounce back on the encounter of an obstacle, following a parabolic motion before it reach the ground at last. Next, define the attributes of particles based on the implementation principles of the particle system. Construc
9、t a sphere with quadratic surface and finish the texture mapping and color fusion. Afterwards, to make the waterfall lifelike, use the correlation functions of OpenGL to realize some features like multi-angle rotation, mouse movement, atomization, color transformation, music playing, text display an
10、d so on. Last but not least, Visual C+ 6.0 is chosen as the experiment platform. According to experiment results, its feasible and satisfying to simulate a waterfall scene with OpenGL and particle system on computers.Key Words: OpenGL, Particle System, Simulation of Waterfall, Texture Mapping目 录第1章
11、绪论11.1 课题背景11.2研究意义11.3研究内容21.4论文结构2第2章 相关技术介绍32.1 OpenGL技术32.1.1 OpenGL基本操作32.1.2 OpenGL开发库32.1.3 OpenGL函数32.1.4 OpenGL应用环境42.2纹理映射42.3色彩融合42.4粒子系统实现步骤技术5第3章 瀑布系统的设计63.1系统大致框架63.2瀑布模型的定义73.3瀑布粒子的生成73.4瀑布粒子的更新与运动73.5瀑布粒子的消亡83.6瀑布粒子的绘制8第4章 瀑布模拟系统的实现94.1瀑布模型实现94.1.1瀑布粒子属性定义及初始化94.1.2瀑布粒子生成实现104.1.3瀑布粒
12、子运动、更新、消亡实现104.1.4瀑布粒子绘制实现114.2鼠标、键盘交互124.2.1 旋转交互124.2.2 雾化控制134.2.3文字显示144.2.4古诗朗诵144.2.5返回背景音乐144.2.6水流大小控制154.2.7鼠标移动154.3音乐添加174.4雾化效果184.5文字显示效果184.6光照变换效果20第5章 系统结果与分析225.1开发环境225.2系统结果与分析225.2.1旋转时不同光照效果分析225.2.2文字显示235.2.3水流控制245.2.4雾化效果25结论26谢辞28III基于OpenGL与粒子系统的瀑布场景模拟第1章 绪论1.1 课题背景1983年,粒
13、子系统首先由Reeves提出1。粒子系统使用十分简单的题材来构造复杂的、不规则的、模糊的、动态的事物。这为模拟花、草、云、雾、雪等自然景观提供了十分有效的技术手段。目前,已经有多例利用粒子系统模拟自然场景的成功案例。例如,万华根等人求解N-S方程时通过得到一个特殊解意外实现了一个十分真实的喷泉场景;管宇等人利用粒子系统实现了瀑布场景的实时模拟。除此之外,还有很多用粒子系统做的成功场景模拟的粒子。粒子的颜色、初始速度、初始位置、生命周期、衰减周期等等这些都是粒子的常用属性。使用大概值而不是绝对值的模糊参数占据全部或者绝大部分是很正常的。一些参数定义了中心值以及允许的范围2。近几年来,粒子系统不断
14、发展、改进。并且这项技术被不断应用于模拟大自然景观。1990年S.Karl提出粒子系统的并行绘制算法3。完成影片ParticleDream。文献提出节日焰火粒子系统的绘制算法4。实现多种焰火特殊效果。1998年M.Unbeschiden 和A.Trembilaki 运用粒子系统,从云的物理原理出发。结合纹理映射技术建立了云的模型5。OpenGL的粒子系统能够逼真的模拟雨雪、爆炸、烟火、喷泉、落叶、海浪、浮云等等自然景象。目前,计算机图形界已经出现了多种方法模拟自然事物,其中,粒子系统是一种公认的较为成功的方法,并受到广泛的研究、推广和应用。自然也具有了比较广阔的研究前景。OpenGL是是一个开放性很强的三维图形包,与窗口系统及操作系统独立开来,具有较强的可移植性。基于OpenGL的多视口操作与色彩融合技术,利用粒子系统,可以实现在大型场景中的漫游效果。 1.2研究意义本课题对象为瀑布场景,用粒子系统建立模型,并且实现瀑布动态性。通过定义瀑布水流参数,建立一个基于粒子系统与相关物理、数学原理的瀑布水流运动模型 ,并且详细定义了相关参数;利用编程读取模型,在场景中绘制出来;此外还加入了音乐、光照、雾化、文字等效果来增加场景的真实感。瀑布场