- 1
- 0
- 约9.89千字
- 约 7页
- 2017-06-18 发布于湖北
- 举报
面向对象的通用粒子系统设计及其在火焰模拟中的应用
罗勇 1,2,文建国 1
1 湖南大学计算机与通信学院,长沙(410082 )
2 湖南交通职业技术学院,长沙(410004 )
E-mail:ly_88@163.com
摘 要:本文设计了一个通用的粒子系统,基于面向对象的思想描述了一套粒子系统应用程
序接口(API) 的设计。该粒子系统API采用合理的数据结构,设计了一套高效的粒子生成、
管理方法,并采用高速OpenGL渲染引擎,使之能够满足在普通PC 机上模拟不规则的自然
景物的需求。同时,它还具有相当的灵活性和可扩展性。该粒子系统被用于火焰的模拟中,
仿真实验表明模拟出的火焰具有较强的真实感。
关键词:粒子系统,通用,面向对象,火焰模拟
中图分类号:TP391.9; TP18
1. 引言
自然景物的生成与模拟一直是计算机图形学领域的研究热点。尤其是对于动态自然景
物,例如云、烟、火、雨、雪等,传统的造型方法很难描述它们的形状和运动,难以得到具
有真实感的模拟[1]。最早的研究工作是从1983年Reeves首次提出的粒子系统原型开始[2],
它可用于模拟不规则的模糊物体(Fuzzy Object) 。迄今为止,在粒子系统原型基础上,已有许
多利用粒子系统模拟自然景物的工作[3][4]。然而,尽管粒子系统已经有一些应用程序接口
(API )的实现和用户手册可以在下载,并被许多的开发者所利用[5]。然而,对通用的粒子
系统API设计相对来说还研究比较少[6][7]。因此,本文拟设计一个通用的粒子系统,它采用
面向对象的思想,通过封装功能以便开发者不需要重复实现,并且方便应用程序易于在不同
平台间的移植,并且通过火焰模拟的实例说明设计的API 的效果。
2. 粒子系统设计
2.1 粒子系统设计的需求分析
粒子系统的基本思想是采用大量的、具有一定生命和属性的微小粒子图元作为基本元素
来描述不规则的模糊物体。一般而言,它具有以下独特的优点[2]:
其一,粒子系统比较灵活,其组成的粒子既可以是最简单的点,也可以具有一定的结构,
可根据描述的对象随意调整,而且相对来说易于实现。
其二,粒子系统的模型是过程化的,在其中可加入随机过程,因此,获得精细的模型不
需要大量的设计时间。
在虚拟现实的视景仿真系统中,不规则物体模拟的真实程度将直接影响到“沉浸感” 的实
现,根据不同物体的属性,可以构建不同的粒子发生器。各种粒子发生器的底层实现思想是
一致的,一个好的粒子系统应该具有通用性和可移植性。粒子系统表达的物体越真实,粒子
的数量就越多,其代价是代码量大。为了能够流畅、真实地模拟复杂的三维景观,粒子系统
的设计必须满足以下要求:
实时效果
粒子系统API 设计最基本的目标是能够实时地模拟大规模的动态景物。它要求粒子系
统的计算效率非常高,以便CPU 尚有大量的剩余时间完成应用程序所需要的其他运算。
灵活性
- 1 -
用户能够灵活地使用粒子系统API创建不同的动态效果。粒子系统API必须具有通用性,
由许多子模块构建各种不同场景效果。
参数独立性
实现一个复杂场景需要调用很多个API 函数,用户不可避免地要设置大量的参数,所
以参数的逻辑层次要清晰,并且独立于外部系统。
模拟质量的可伸缩性
可以通过调节参数或者调用不同的API 调整虚拟场景的模拟精确度,应用程序开发人
员能够根据不同的效果要求来制定不同的精确度。
可学习性和可扩展性
粒子系统API对于应用程序开发人员来说易学习使用,并且可对其进行必要的修改扩
展,以适应不同虚拟现实系统开发的需要。
2.2 粒子系统 API 的数据结构
自然景物,特别是不规则的模糊物体的模拟对粒子系统的性能提出了很高的要
原创力文档

文档评论(0)