论文部分内容阅读
流体现象(如流水)是自然界中最普遍的一类现象,与人们的生活息息相关。如何结合流体现象的内在物理特征,依托计算机仿真技术和图形技术,生成可控的流体动画,一直是动画领域的热点问题。然而,由于流体本身的复杂性及其运动的无定形性,在计算机上生成视觉逼真、行为可控的流体动画仍然是一个具有挑战性的课题。
本文以基于物理的流体动画为研究对象,重点研究如何快速生成逼真的流体动画以及如何以更加自然的人机交互手段控制流体的运动。本文所取得的创新性研究成果可归纳如下:
(1)提出了一种基于语义的流体动画场景处理方法
流体动画环境的处理是流体动画生成的第一步,也是将环境模型转化为可计算的流体边界的重要途径。现有的方法只能处理中小规模场景、规则的隧道、简单的多个房间或空旷的公共场景,缺乏对场景组织的优化,因此对复杂场景的处理效率不高。
针对这一问题,本文提出一种基于语义的场景处理方法。该方法首先定义场景语义,然后利用该场景语义构建最优场景图对场景模型进行处理。本文方法能有效提高场景处理效率,特别适合处理具有相同或相似结构的流体动画场景,满足动画生成的需求。
(2)提出了一种基于时空自适应的流体动画模型
流体运动的可视效果主要由两个要素组成:表示总体运动的流体表面与表示运动细节的流体水花。因此准确而高效的生成流体表面和水花是提高模拟效果和效率的关键。但已有的基于粒子水平集算法的流体动画模型对粒子采用均匀分布的方式,由于粒子分布没有进行必要的优化,致使流体动画中粒子规模大,计算效率不高。
针对上述问题,本文提出一种基于时空白适应的流体动画模型。该模型利用启发式原则快速定位高耗散区域和时间步,从空间和时间两个方面对粒子分布进行自适应优化。其中,在空间上通过定义窄带上的局部特征尺寸函数快速计算粒子的分布密度;在时间上利用累积变形率确定重采样时间步。该模型一方面提高了流体表面跟踪的精度和效率(25%以上);另一方面,为流体水花运动产生了合理的源,特别适合面积/体积比率较大、表面复杂(即平均曲率的均值和方差较大)的流体模拟。
(3)提出了一种基于骨骼的流体控制方法
创建流体虚拟角色(如水人)或者展示现实世界中难以实现的特殊流体运动效果是流体动画应用于影视特效中的主要形式。目前有两种典型的方法控制流体的运动:正向控制和逆向控制。正向控制通过直接修改流体参数控制流体运动,因此获取一个期望的结果需反复测试和调整,效率不高:逆向控制尽管可以通过提供流体运动关键帧的方式获取期望的流体运动行为,但目前方法中关键帧设计复杂,对其修改和使用都很不方便。
针对上述问题,本文提出一种基于骨骼的流体运动控制方法。该方法首先建立流体的骨骼描述,从而隐式表示当前流体状态和目标状态;在此基础上利用基于运输模型的关键帧匹配方法计算两者之间的映射关系。关键帧匹配结果用以生成驱动流体运动的吸引力场。为了使流体紧随骨骼运动,本文还对流体施加了类同体运动约束。本文方法不仅支持运动捕获数据,而且支持手工勾勒和直接修改骨骼关键帧数据,因此关键帧的设计、修改和使用简单方便。此外,基于骨骼的控制模型计算效率高,能以较小的额外耗费(1.86%)生成流体角色运动和流体变形效果。
(4)提出了一种基于轮廓特征的破碎波控制方法
破碎波是波浪向浅水传播过程中,受水深、底坡以及内摩擦因素的影响,波要素发生变化,波峰逐渐变陡,直至破碎的现象。破碎波控制是模拟破碎波运动的重要途径。现有的破碎波生成方法,需要基于2D Navier-Stokes方程的预计算和基于切片的关键帧拼接,效率不高且使用不方便。另外,直接修改Level Set表面还对波浪的形成施加强约束,难以保持流体运动的细节。
针对上述问题,本文提出一种基于轮廓特征的破碎波控制方法。该方法首先基于破碎波的轮廓特征和线性波理论生成破碎波关键帧,并利用球树方法将关键帧转化为自适应的聚类表示;然后使用基于运输模型的关键帧匹配算法和基于反馈原理的中间速度场生成方式,控制破碎波的运动;最后,利用局部自适应的破碎波水花为破碎波运动增加了细节。该方法无需预计算、无需手工拼接Level Set表面,而是通过流动形成破碎波形状,对流体表面施加的是弱约束,可更好保持流体运动的特征。实验结果表明,本文的方法以更简单、直接的交互方式生成破碎波动画。