论文部分内容阅读
烟雾是日常生活中常见的现象,对其模拟也经常应用在各种仿真中,给人们的生活增添了几分色彩,满足人们的视觉享受。然而,由于其多变且易干扰的特性,使得烟雾模拟仍然是计算机图形学和虚拟现实技术领域的研究难点及热点。为实时绘制出真实感强的烟雾交互场景,在此提出一种在多力场作用下三维烟雾与动态障碍物实时交互模拟算法,设计并实现了不同的烟雾交互模拟场景加以验证。首先,为进一步表现存在障碍物的烟雾模拟空间中烟雾扩散态势,利用Kanilan功率密度谱建立模拟空间中小尺度不稳定风,考虑现实中风力存在着衰减,根据空气的阻力系数和距离风源的距离添加风力衰减因子,增强烟雾与障碍物的实时交互效果。同时,为更逼真地表现烟雾与移动障碍物交互细节,提升烟雾模拟的真实感,在风力,重力,热浮力以及涡流抑制力同时存在的环境中,运用AABB包围盒技术,快速计算出移动障碍物的边界,并采用双向耦合的方式动态表现烟雾与障碍物之间的相互作用力,然后将障碍物对烟雾施加的力表现在烟雾的运动中。同时,AABB包围盒技术的运用,也使得模拟空间不再为单一的长方体,使得烟雾模拟空间可呈现出不同形状,拓展了烟雾扩散模拟的应用领域。然后,考虑到烟雾表现细节,引入多重网格技术划分模拟空间,重点突出部分用精细网格,反之用粗网格,提升真实感的同时又尽量减少网格所带来的计算花销;同时,在交互场景中添加阴影效果,主要表现在移动障碍物的实时阴影以及烟雾与光照交互产生的自阴影上;在烟雾的形态上,设计并验证来了一套生成多形态烟雾的算法,极大程度的增强了烟雾模拟的表现力,使得烟雾模拟更加生动有趣最后,利用HLSL语言和方便易用的Unity3D软件在Windows平台下设计烟雾模拟系统,并对提出的实验方法进行验证。实验表明:利用本文的算法可根据设计者的意愿对保持自然流动状态的烟雾进行有效控制,并可实现烟雾与移动障碍物之间的交互模拟。