论文部分内容阅读
模拟各种自然现象是计算机图形学的一个重要探索领域,更是一项具有挑战性的研究课题,特别是对烟雾、云、火焰、水波等不规则物体的模拟十分困难。随着相关技术的发展,计算机模拟的烟雾被广泛应用到仿真火灾烟雾、电影特效、视频游戏、广告等各种领域,大大地提高了虚拟场景的逼真效果。本文在认真分析国内外烟雾模拟成果的基础上,针对影响烟雾模拟实时性和真实性问题,着重从以下几方面进行深入研究和探讨。首先,针对基于物理方法烟雾模拟中Navier-Stokes方程形式复杂、求解困难、影响实时性的问题,引入无量纲化方法优化Navier-Stokes方程。通过对控制烟雾运动的物理方程进行量纲分析,建立影响流体流动各因素之间的正确关系,以及从流动相似原理出发并遵循相似准则,使Navier-Stokes方程中的物理量无量纲化,把方程化为规范形式,使物理量的数值大小归一,以简化方程形式、减少计算量,并通过GPU方法加速计算,提高烟雾模拟实时性。其次,针对Navier-Stokes方程对流项和压力项求解复杂,影响烟雾模拟真实性和实时性的问题,提出用Point-Based方法求解Navier-Stokes方程对流项和压力项。利用Voronoi图离散求解区域计算压力投影,有效的缓解规则网格离散求解区域引起的数值耗散;同时,避免采用半拉格朗日方法求解Navier-Stokes方程对流项所引起的数值耗散,以便正确地捕获烟雾模拟的细节特征,在满足烟雾模拟实时性的同时提高真实性。最后,利用VC++语言、开放性图形接口OpenGL以及可编程图形硬件语言Cg在Windows平台上设计并实现烟雾模拟系统,对改进的烟雾模拟算法进行实验验证。实验结果表明:所模拟出的烟雾效果比较真实,满足了烟雾模拟真实感和实时性的要求。