面向对象的通用粒子系统设计与其在火焰模拟中的应用.pdfVIP

  • 1
  • 0
  • 约9.89千字
  • 约 7页
  • 2017-06-18 发布于湖北
  • 举报

面向对象的通用粒子系统设计与其在火焰模拟中的应用.pdf

面向对象的通用粒子系统设计及其在火焰模拟中的应用 罗勇 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)

1亿VIP精品文档

相关文档