论文部分内容阅读
基于物理的柔性体模拟技术可以用于生成逼真的动画效果,因而广泛应用于电影、动画、游戏、虚拟现实等领域。然而,由于物理模拟过程通常涉及大量繁琐的参数设置,模拟结果往往难以符合用户的创作构想。因此,如何对一段已有的柔性体动画序列进行高效编辑以符合用户的创作构想,同时保证编辑结果具有合理的变形形状和真实的动态效果,具有重要的实际应用价值。传统的关键帧插值方法未考虑物体运动应遵循的物理规律,因此无法提供真实的动态效果。同时,插值方法要求用户提供完整的关键帧,对用户的专业性要求较高,操作繁琐且交互不灵活。采用时空位置约束方法可以将关键帧插值与运动方程结合,从而增强动画的物理真实感。然而,由于需要求解带约束的高维度非线性优化问题,这种简单的结合方式无法满足最基本的交互编辑要求。最近提出的基于物理的关键帧插值方法极大地加快了这类优化问题的求解速度,可以满足交互编辑要求。然而这些方法依然要求用户设计完整的关键帧,交互不灵活。而且关键帧处过多的约束也会对动态效果的真实性造成不利影响。基于物理的柔性体运动编辑技术以一段完整的动画序列作为输入。它支持局部时空位置约束,允许用户对动画序列任意时刻的任意顶点进行拖动操作来编辑动画序列,无需设计关键帧。因此约束更少,效果更真实,交互更灵活。然而现有的柔性体运动编辑技术无法提供准确的位置约束,不能对物体局部形状进行交互修改,或是在编辑较大的情况下会发生严重的变形扭曲问题。同时,已有方法要求用户仔细设置物体的弹性材料,而不合理的弹性材料将严重影响编辑结果的动态效果。此外,编辑过程中碰撞处理的缺失也在一定程度上影响了动画编辑操作的灵活性。本文通过对柔性体运动编辑技术的时空位置约束形式、带约束非线性优化问题数值求解算法、物体弹性材料设计、弹性材料优化,以及与碰撞处理相关的二次规划问题求解等方面的内容进行深入研究,提出了一套计算高效、交互方式灵活、物体形变合理、动画效果真实且弹性材料设置简单的柔性体运动编辑技术。本文主要贡献如下:·提出了一种支持局部约束的柔性体运动交互编辑算法,可以提供灵活的交互方式,产生真实的动态效果。该方法基于时空位置约束,它通过求解最优化控制问题来减小编辑结果引入的控制外力,从而保证动画的物理真实感。为减小问题规模,本文引入了子空间降维技术,同时通过将运动方程线性展开,把非线性优化问题简化为二次优化问题。同时针对目标函数的特点,提出了一个高效的数值算法,满足交互编辑需求。·提出了一种高效、鲁棒的非线性子空间表达形式——子空间降维RS方法,并由此解决了大形变情况下柔性体动画编辑结果的变形扭曲问题。利用子空间降维RS方法,可对运动方程进行降维和解耦,简化目标函数形式,同时提供准确的位置约束。然后通过求解最优化控制问题获得物体的子空间坐标,最后通过子空间降维RS方法重建物体三维空间坐标。重建方法支持大形变,且比传统RS方法快两个数量级以上。·提出了一种结合了弹性材料优化与时空位置约束的柔性体运动编辑算法,有效解决了动画编辑过程中的弹性材料设置问题,提供了一套支持动画编辑、材料设计和材料重建的统一框架。通过优化弹性材料,该算法可以显著减小动画编辑过程中引入的控制力,从而获得更加真实自然的动态效果。算法首先将材料表示为子空间形式,然后对子空间基进行采样来减小问题规模,最后提出了一个交替迭代的方法来进一步加速求解过程。·针对大规模柔性体模拟过程中的碰撞处理问题,提出了一种高效的二次规划问题数值求解算法。文中算法通过对传统只支持边界约束的二次规划算法进行扩展,使其支持碰撞处理问题中更加复杂的不等式约束形式。同时,该算法对碰撞处理问题中的约束进行化简、解耦,使其更加适合我们的数值求解算法,进一步提升了算法的效率。