您好,  [请登录]   [免费注册]

浏览记录

   
查看大图

计算机图形学视觉特效—粒子系统模拟雨雪(opengl)

  • 商品编号:vc351
  • 货  号:vc351
  • 品  牌:jgyc
  • 开发语言: vc
  • 数据库: 其它
  • 论文字数: 11950
  • 编程工具/运行环境: Visual C++
  • 市场价: ¥300.00
  • 销售价: ¥200.00
  • 节省: ¥100.00

需要这份设计请联系QQ303563675:点击这里给我发消息

app hook

   

随着计算机仿真技术的不断提高,尤其在3D游戏、军事演习和仿真实验等方面,人们对真实事物的模拟要求越来越高。而寻求能准确地描述客观世界中各种现象与景观的数学模型,并逼真地再现这些现象与景观,是计算机图形学的一个重要研究课题。粒子系统的景物模拟超越了几何模型的限制,能够用简单的模型描述复杂的自然景物。

本课题设计了基于OpenGL粒子系统的天气模型,详细讨论了模型中粒子的属性及其变化,实现了具有较强真实感的动态变化雨雪天气模拟,采用了纹理映射和视线跟踪技术进行渲染,在普通的微机上得到了令人满意的效果。

关键词:粒子系统,天气,渲染,OpenGL

自然景物模拟概述

无论是在三维视景仿真还是在游戏开发中,自然现象如云、雾、烟、雨、雪等都占有举足轻重的地位。由于自然景物的形状随即变化,表面往往含有丰富的细节,很难用传统的解析曲面来描述。常见的景物模拟方法一般有以下两种:

第一种:根据数学函数构造出景物外型,然后变换时间函数t。这类方法可以称为过程动画的方法,比较典型的是Fournier模拟水波的方法。

第二种:从物体运动的物理原理出发,一般是求解一组力学方程,得到质点在各个时刻的状态。这类方法可以称为基于物理的方法,比较典型的是Foster的方法。

比较而言,过程动画方法比较简单、计算效率较高,但效果比较单调,适用范围比较狭窄。对于有些现象人们无法找到一个简单的模型区描述它,这个时候只能借助物理描述来真实再现。基于物理方法的效果比较真实,适用范围广泛一些,但是计算起来非常复杂,效率比较低。

Reeves引入的粒子系统是迄今为止被认为在模拟诸如云、烟、火等不规则模糊物体时最成功的一种算法。为了方便用粒子系统模拟各种物体,McAlbster结合OpenGL,用C++开发了一套粒子系统API。利用这套API可以很方便地对运动的物体进行动态模拟,首先将粒子的活动进行简单的分析和描述,然后对粒子系统进行场景渲染,结合OpenGL提供的一些功能如纹理映射效果,可以模拟很多种自然景物。本课题就可以利用这种方法来模拟多种雨雪天气的效果。

1.2  粒子系统

粒子系统,就是将人们看到的物体运动和自然现象,用一系列运动的粒子来描述,再将这些粒子运动的轨迹映射到显示屏上,在显示屏上看到的就是物体运动和自然现象的模拟效果了。

利用粒子系统,可以在屏幕中表现诸多的特殊效果,如:焰火、火苗、落叶、雪花飞舞等。不怕做不到,就怕想不到。只要你的想象力足够丰富,你可以创造出意想不到的奇迹来。粒子系统采用了一套完全不同于以往造型、绘制系统的方法来构造和描绘劲舞。它不是一个简单的静态模型,而是一种过程计算模型。如果存在有效的物理或生理模型,物体的行为建模将变得非常简单,只要实现当前模型的几步即可。

粒子系统的基本思想是:采用许多形状简单的微小粒子作为基本元素,用它们来表示不规则模糊物体。这些粒子都有各自的生命周期,在系统中都要经历“产生”、“运动和生长”及“消亡”三个阶段。粒子系统是一个有“生命”的系统,因此不象传统方法那样只能生成瞬时静态的景物画面,而是可以产生一系列运动进化的画面,这使得模拟动态的自然景物成为可能。随着时间的推移,系统中不断由新粒子加入,也有旧粒子的消亡,已经存在的粒子,其属性也在随时间变化。

在系统运行的每一刻,都要完成以下认为:

1、粒子源产生新的粒子。

2、赋予每一新粒子一定的属性。

3、判断粒子生命值,删去那些已经超过生存期的粒子。

4、根据粒子的动态属性对粒子进行移动和变换。

5、显示由有生命的粒子组成的图像。

粒子系统采用随机过程来控制粒子的产生数量,因此新产生的粒子具有一些初始随机属性,如初始运动方向、初始大小、初始颜色、初始透明度、初始形状以及生存期等,并在粒子的运动和生长过程中随机地改变这些属性。粒子系统的随机性使模拟不规则模糊物体变得十分简便。

粒子系统应用的关键在于如何描述粒子的运动轨迹,也就是构造粒子的运动函数。函数选择的恰当与否,决定效果的逼真程度。其次,坐标系的选定(即视角)也有一定的关系,视角不同,看到的效果自然不一样了。

1.3  国内外研究现状

国外用粒子系统在动画设计上的运用已经司空见惯,多部3D动画片中都少不了粒子系统的身影,其中太空中包括像银河、沙暴等,都将粒子效果运用到现今技术的顶峰。

粒子系统的优势就在于,可以构造具有变化性的事物,许多现实中的事物,都是随着时间变化而变化的,一般的图形不能将这类事物的这种运动形态描述,只有通过微观到宏观的变化概念,才能实现,粒子系统在电脑动画和电子游戏中起到了立竿见影的效果,带动着新一代的电脑图形技术向前迈进。

较比国外图形运用的在动画以及电子游戏产业中的发展,我国在运用粒子系统的方面上,也有良好的突破,尽管技术到位了,但从色彩和炫丽等效果上看,多存在华而不实、画面累赘、变化简单等问题,这可能存在与设计者所接受的艺术方面的知识和自我接受艺术的能力。不过单从运用方面来说,算是将粒子系统这一技术运用得体到位。国外的研究始于80年代初期,由Reeves W. T.1983年首次提出粒子系统模型,并用其模拟了焰火、爆炸等效果,他还成功的利用该模型模拟了电影《AR TREK I: The Wrath of Khan》中的一系列特技镜头。1985Reeves W. T.Blau发展了粒子系统,他们用“volume filling”基本单元模拟生成那种随时间改变形状,但又基本保持不变的实体,如随风飘动的花草树叶。

此后从理论到技术都得到了进一步发展:Reeves W. T.提出了关于粒子系统消隐绘制的算法,称之为“近似概率算法”,用于解决阴影、可见面问题,且取得了很好的效果。Fournier A.等在研究海浪模型中利用粒子系统模拟了浪花,提出了浪花的产生条件——粒子运动速度和海流曲面传播速度之间的差异要超过一定的条件,即粒子运动速度与海浪曲面传播速度之间的差异要超过一定的阀值,否则产生泡沫。Karl Sims研究了粒子的动画及绘制算法,他利用粒子系统的并行特点,提出了一个并行的粒子绘制系统,该系统能绘制不同形状、大小、透明度的粒子,并能进行反走样、消隐、运动模糊的处理。Reed等人用粒子系统成果的模拟了闪电。Reynolds在其群体行为研究中,又极大的扩展了粒子系统的功能,并将其作为一种建模工具,他提出了粒子间相互结合的思想,从而使粒子与粒子之间进行交互,并阐明利用大量的简单图元间的交互作用可产生复杂的行为。Miller&PearceTonnesen等人开发了双粒子系统来模拟像流体一样的或溶化的物质。David E. Breen利用“交互粒子”模拟了布匹、织物。再如大家非常熟悉的三维动画制作的最新软件3DS MAX就载有“Spray”和“Snow”两个粒子系统来模拟喷射的火花、飘舞的雪花、飞扬的尘埃等特殊效果,3DS MAX还有带有两个外挂模块“Sand Blaster”和“All Purpose Particles”,用来创建气泡、焰火、冲击波等动态图像。总之,粒子系统能够创建各种动画效果。

国内近年来有许多大学对粒子系统模型进行了研究、探索和应用,并取得了一定的成果。例如,徐迎庆等人利用粒子系统模拟了水面溅起的水沫以及流水与石头碰撞后产生的水花等效果;宋万寿等人在IBM PC386机上开发了基于粒子系统方法的焰火及树木模拟实验系统等。国内的研究虽然取得了一定的进展,但采用粒子系统有效地模拟模糊景物的论文并不多,需要进一步开发、研究与实现。

1.4  本文主要研究内容

本课题的研究内容为设计与实现一个由粒子系统构成的不同天气模拟场景。基于OpenGL图形库设计并实现了一个用于常见自然景物模拟的3D粒子特效系统,开发工具使用visual studio 2003

本文的主要内容如下“

第一章  绪论。概述了粒子系统在自然景物模拟中的地位,介绍了国内外的研究现状,并说明了本文的主要研究内容和结构安排。

第二章  系统开发基础。介绍了相关的数学和物理学知识,介绍了OpenGLMFC

第三章  粒子系统的设计。具体介绍了如何用粒子系统实现不同天气场景的模拟,包括粒子产生、变化消亡的过程。

第四章  系统实现。介绍本课题实现的天气场景模拟系统。

第五章  总结与展望。对本文的工作进行了总结并提出了未来工作研究的方向。

如果您对本商品有什么问题,请提问咨询!

发表咨询

标题:
*咨询内容:
联系方式: (可以是电话、email、qq等)
*验证码:   看不清楚?换个图片
如果您对本商品有什么评价或经验,欢迎分享!

发表评论

标题:
*评论内容:
联系方式: (可以是电话、email、qq等).
*验证码:   看不清楚?换个图片