弹性面的健壮实时变形
弹性面的健壮实时变形
摘要 本文介绍一种实现对平面的大幅度实时变形模拟的方法,使用了点矩阵来形成的方格覆盖平面并匹配平面的变形。通过这种方法可以实现比原来精准的物理模拟快得多的模拟速度。
关键词 快速求和;大幅度变形;形状匹配
0 引言
从开始出现用计算机对物体的变形模拟的相关模型到今天,已经出现了许多关于物体变形的模型。也出现了许多非常好的算法模型,如有限元素模型,限定体积模型,边界检测模型,松散粒子系统模型,分块弹性系统模型[1],简单网格匹配模型[2]等。
本文实现的是对弹性面的物理变形快速模拟的方法,主要的思想是结合了已有的物体变形算法思想,通过控制点之间的距离以及影响范围来控制变形时产生的力的传递。其中包括点的当前位置,速度,以及当前的目标位置。
1 快速变形算法以及形状匹配
快速变形算法是在实现三维物体的实时变形的模拟算法时提出的[4],应用在物体的变形的快速计算上。我们在本文中介绍的是这个算法对于平面物体的应用。
1.1 形状匹配区域
平面的变形由点阵内的点来控制,每个粒子点或者分区都有一个标示作为索引。对每个粒子点设置原始位置为,变形后的位置,所属的分区为,每一个粒子都定义了它的邻居点列表,它包括了把粒子点包括在内的最小的一个方格区域。
每一个粒子的运动都与所属的分区有关,这个分区包含了一组粒子点,用表示,以2w为方格分区的边长,包括了粒子和所有距离不超过w的邻居点。例如:当w=1时,。w为粒子点变化影响区域范围的一半宽度。对于的定义需要考虑到不规则的区域和边界问题。当区域最大时,方格最大边为2w+1点。这里需要注意,对于不规则的平面来说还有可能出现分区不唯一的情况,即可能会出现且。
1.2 动态变形
在模拟变形时,把时间分成一些关键点来一步一步计算。在每个时间分段里,对每个分区R计算出当前状态到原始位置的转换,这部分得到的是一个转换矩阵,每个粒子属与多个分区,为了不让个别粒子点的质量与相邻的粒子点的质量差距过大,我们把分区内的粒子点的质量取平均值,设定。
上面提到的转换矩阵用来计算粒子点的目标位置,粒子点的目标位置为。最后粒子点的位置和点的速度用下面的公式来计算[3]:
1.3 快速求和算法
1.3.1 快速求和的简单描述
思想是把粒子点小块进行求和,这样在计算大的分区时尽可能的重用以求出的小块区域的结果。当计算分区R内的点定义的值的和时,我们就可以重复的利用这些小块区域进行相加,以此达到快速求和的目的,这种方法是以占用了额外的空间为代价来提高计算速度。
1.3.2 简单方格
快速求和的主要思想可以简单的表示为对一个方形区域内点的计算。在区域R宽为2w,内部的粒子点用来表示,包含了点数量为个点的区域。如图1是一个的区域。
求和公式可以写成下面的式子
内部的求和可以被分散为小的区域并在计算各分区的时候重复使用。我们可以把一直计算到结果的过程分为两步完成:
以x为轴求子区和 以z为轴求分区和
1.3.3 快速求和操做
如果对区域R内所有点进行求和,使用了快速求和算法就用下面的式子来表示:
(使用快速求和算法)
1.3.4 快速求和在变形中的应用和算法描述
下面介绍在对平面变形的计算,以及其中使用快速求和方法加速。其涉及的计算主要是对每个分区R计算中心Cr,最小旋转矩阵Rr(用Rr再计算出初始状态到平衡状态的转换矩阵Tr),以及每个点下一时刻的目标位置。
1.3.5 分块的中心
利用下面的公式计算每个分块在变形后的中心:
其中是可以预先计算出来的。这里对Cr的计算可以应用快速求和就算的得
出每个分区的的和。
1.3.6 严格转换
每个分区从初始状态到当前状态通过旋转R线形转换后,还需要中心点的平移Cr0到Cr。这样转换矩阵则为。
1.3.7 目标位置
最后,我们通过前面的转换矩阵,得到每个点的目标位置,这个目标位置是该点对应区域内所有点的转换矩阵求平均后,再应用到该点的初始位置得到的。
2 快速变形算法在二维空间上的应用
在二维空间上应用快速变形算法:
通过前面的弹性模型的介绍,可以在二维平面上做一个弹性面的模拟来实现弹性平面的一些性质。
在下面的图中演示了在对一个二维的方格矩阵上一个粒子点施加一个力之后,产生的一系列变形的情况。这里设置w=1,即每个点力传递范围为周围1个距离的方格。
3 结论
通过前面的介绍,演示了一种实时模拟弹性平面变形的方法,这种方法应用在动态的弹性面变形上可以实现平面的大幅度的快速变形模拟。可以应用在电脑游戏、曲面的创新设计等要求速度快精度不高的情况下。对于大型物体的变形,可以只由面的变形模拟实现局部细节从而减少对整个物体模拟产生的代价。因为本文介绍方法可以实现剧烈的变形模拟,但不是精确的物理模拟,不能应用在对模拟精度要求高的情况下。
参考文献
[1]Keith Waters.A muscle model for animation three-dimensional facial expression,Proceedings of the 14th annual conference on Computer graphics and interactive techniques,August 1987:17-24,
[2]Müller,M.,Heidelberger,B.,Teschner,M.,and Gross M.Meshless deformations based on shape matching [J]. ACM Trans.Graph.2005,24,3:471-478
[3]Alec R.Rivers,Doug L.James,FastLSM: fast lattice shape matching for
robust real-time deformation.[J]ACM Trans.Graph.26,3(82):1-6.
[4]Golub and Van Loan,C.Matrix Computations,third ed.[M].The Johns Hopkins University Press,Baltimore,1996.