资阳动画数学课件制作之帧插值
3)帧插值 根据配准曲线来插值生成单独的一帧运动B(t,)的方法如下:先找到时间配置曲线上对应点S(“ ,),根据方位配准曲线对应的点A(ui)的值对齐S(u,)点对应的两帧,之后按权重w(t,)计算加权平 均值,最后加入各种约束。 假定对于插值帧B(t。),“。的值是已经知道的。首先创建这个帧,然后按照时间顺序产生其他 的帧:假设B(t、,)不是第一个插值帧,而是需要插值的帧序列中某一中间帧,那么需要首先创建前 向帧(B(11),B(t2),…),然后创建后向帧(B(t-i),B(t-2),…)。我们需要u(t)严格递增,这样在 插值时间I不断向前的情况下,全局时间2也会持续向前。
下面给㈩前向顺序下产生插值帧的过程,相反方向产生帧的情况类似处理。 (1)沿配准曲线前进。 对于是个输入待混合运动,可利用公式(5.8)计算: △J/=I乏:议,+f,r1,I名壽I。。,,l—,l△, c,.8, *flash动画创作与后删视频处理技术* 这个公式可以用来计算全局时间参数“向前流动的速度,它是根据输入运动时间配准曲线变化率 的插值权重组合而得。 (2)帧的定位和朝向。 一旦c4,定下来后,可以从输入的运动中提取出帧序列M,(S+(“,)),且每个帧的原始配置是用 A,(“,)进行转换的。这样就产生了一组相互匹配的帧,使得可以通过一个变换丁(,,,在地面上 进行移位和旋转。
这种情况下,整个变换应用到M;(S+(cJ,))上,则变换矩阵是丁(f,)A,(2/,) 。
对于插值的第一帧,丁(I。)可以任意选择。对于其他帧,丁(,,)的选择必须使得B(t,)的位置和 朝向与前一帧B(t,-I)-致。具体来说,临时假定饥、(t)是l且对于f>,,:的所有的插值权重都是0 。则剩下的插值应该是简单地用丁(t真…,)A/(“,—,)对M,的一部分进行直接拷贝和变换,所以 它和B(ti.-:)可以光滑地衔接在一起。如果△7\(,,)定义为 △T,(f,)=丁(f,—,)A](“广1)A)—’(z4,), (5,il,然后设置丁(t,)=AT(,,)就得到这 个结果。
更一般的,每个运动M,会对T(t,)进行表决,即衡量它们相对局部坐标系统不变(也就是,△T\ (,,))的程度,然后这个表决结果根据插值权重进行平均。为了进行平均,必须选择恰当的参数来表 示rTj(,,)。我们的算法是首先在需要变换的帧序列的中心附近计算一个起始点。特别的,每个M (S ,(zJ,))都用△丁,(f,)A,(“,:)进行转换过,这样新的根节点的位置就被投影到地面且被统一 了。然后ATj(,,)采用参数集合I《1,-r+,z+}表示,代表的意义是对应于这个起始点旋转乒后平移 (lj,z,)。最终,丁(t,)为 丁(t,,=|∑w,乒+,∑tL':/。r+,∑u,+:c:,l ( 5.111) / / /
转载请注明:
资阳flash动画制作公司:http://www.flash520.com/city169/