论文部分内容阅读
流体模拟,尤其是大面积水面及波浪的快速建模与可控动画一直是计算机图形学研究的热点问题之一。对各种波浪形态的模拟在影视特效、三维游戏开发等各种领域得到了越来越广泛的应用,有着重要的应用价值。然而,由于天然波浪的复杂性与不规则性,现有的波浪模拟方法无法在计算效率与真实感之间很好的权衡,因此,如何快速对波浪进行模拟,并生成可控的波浪动画依然是一个具有挑战性的课题。 传统的波浪模拟方法中,基于波面造型的方法原理简单,计算效率很高,但生成的波浪形态单一,真实感不强;基于物理的方法是如今波浪模拟方法的主流,通过求解流体动力学模型来模拟水面,合成的波浪效果逼真,但计算复杂,模拟效率很低。近年来,基于实测数据的水表面重建方法开始发展起来,通过对采集设备捕获的自然界真实水体现象数据进行重建,能够快速得到水表面,且真实感很强,但受到采集设备的限制,重建出来的水表面在运动形态上比较单一,现有的基于实测数据的方法大多关注于不同重建方法的研究,是“再现”的过程,对如何充分利用重建数据生成更加多样的波浪动画还没有研究。另外,现有的可控流体动画技术也都基于物理的方法,在计算效率和控制方式上有很大限制。本文针对这些问题,对近岸涌浪重建数据的动画合成进行了初步尝试,提出了如下解决方案:以水面视频图像重建出的水面高度场为基础,首先利用数学形态学算法从水面视频图像中提取出涌浪的相关特征,然后利用这些特征控制重建高度场中突起涌浪的高度和形状,结合了重建方法计算效率高且真实感强的优势,生成可控的更加多样的近岸涌浪运动形态,满足用户的期望。本文取得了以下创新性研究成果: (1)提出了一种基于骨架的涌浪形状提取和表示方法 针对海面中包含涌浪的近岸水域,我们对此类场景拍摄的视频图像序列为输入,利用数学形态学相关基础算法,对水面视频图像进行开运算重建和闭运算重建,消除较小的峰值,保留较大的峰值连通域并进行连通域内灰度值归一化,通过提取局部极大区域将图像中亮度突出的涌浪波浪线部分掩模提取出来。为了得到波浪线的形状特征,我们对提取的波浪掩模采用迭代的模板细化算法,提取出波浪线掩模的中轴,即波浪的骨架,用以大致表示波峰线的形状,即波浪的形状。对Dyntex数据库中的近岸涌浪视频进行实验的结果可以看出,我们提出的方法能够准确地提取出波浪特征,且能够很好地匹配高度场中的波浪突起部分,用于后续对高度场中的波浪部分进行处理和编辑。 (2)提出了一种细节保持的快速涌浪高度变化模型 近年来,由视频图像重建出三维高度场给水面动画模拟提供了新的思路。对于户外的江河湖海等不透明水体,shape from shading方法能够快速的重建出细节丰富的水面。本文以重建出的涌浪水面高度场作为输入,首先将高度场分解为粗粒度的水面基底和细粒度的波浪细节两部分,只对水面基底做高度变化处理,然后叠加表面细节,使得在波浪平滑上升或下降的同时保持波浪表面的细节动态效果。然后根据用户给定的高度变化模式,计算得到每一帧波浪高度需要变化的距离,用周围水面平均高度作为阈值控制波浪下降的最低高度,并用波浪径向高度变化距离计算方法,在波浪径向方向上给予不同的权重,使波浪呈现自然平缓的上升或下降姿态。实验表明,我们提出的方法在保持波浪表面细节的基础上能够得到波浪高度自然变化并与周围水面很好融合的效果。 (3)提出了一种骨架驱动的涌浪目标形状趋近方法 为了进一步扩展涌浪的运动形式,使涌浪在行进的过程中逐渐趋近于用户期望的形状,对于重建出的水面高度场数据,我们提出了一种骨架驱动的涌浪目标形状趋近方法。该方法运用提取出来的波浪骨架作为波浪的形状表示,通过波浪初始形状和目标形状的差值得到各帧波浪需要偏移的距离,并以骨架带动整体波浪线部分进行平移,从而逐渐实现波浪的变形。在每帧波浪线进行平移之后,其原始位置上会留下高度场空洞,采用非参数纹理合成方法,并且优化其邻域相似性度量函数,同时考虑邻域相似性和时间连续性,对空洞进行填补,保证整体水面高度场的连续性。实验表明,本文提出的方法能够以简单直观的控制方式,自然的实现用户期望的变形效果,大大提高重建结果的复用性,丰富波浪的运动形态。