运动可控的形状插值方法与流程

文档序号:13006749阅读:288来源:国知局
运动可控的形状插值方法与流程

本发明涉及二维角色动画技术领域,尤其是涉及一种运动可控的形状插值方法。



背景技术:

在政府的大力支持下,国内动漫产业近年来发展迅速,动漫产量亦大幅提升。然而,通过传统的手绘方式制作二维动画需要大量时间以及高额制作成本。国内外研发了许多二维商业动画软件,例如adobeflash、toonboomstudio等,以辅助二维动画制作。这些商业软件主要实现了所谓的“无纸卡通”功能,即把传统的动画师纸上绘画转为让动画师通过数位板在计算机上绘画,以方便素材的编辑和管理。但是,动画师仍需要一帧一帧地绘制二维动画序列,工作量仍然非常巨大。

二维形状渐变是计算机动画领域中的一项重要技术,能够光滑地过渡一个形状到另一个形状。给定两个包含二维矢量形状的关键帧,通过过渡一个关键帧中的形状到另一个关键帧中的形状,可以自动生成关键帧之间的动画序列。因此,二维形状渐变技术被广泛应用于二维关键帧动画系统中。在实际使用中,动画师常常希望调整动画序列中的运动动态,以产生更加生动逼真的动画序列。因此,需要在形状渐变过程中提供一种简单直观的运动动态控制方法。



技术实现要素:

本发明的发明目的是为了克服现有技术中的二维绘制工作量大的不足,提供了一种运动可控的形状插值方法。

为了实现上述目的,本发明采用以下技术方案:

一种运动可控的形状插值方法,其特征是,包括如下步骤:

(1-1)源形状和目标形状的同构三角化生成

给定一个源形状和一个目标形状,用户在源形状和目标形状上分别放置多边形边界,使用同构三角形算法为源形状和目标形状生成一对同构三角化,所述同构三角化包含源三角形网格和目标三角形网格,三角形网格和目标三角形网格的顶点一一对应,且具有相同的连接边结构中;

其中,源三角形网格覆盖了源形状,目标三角形网格覆盖了目标形状,因此源形状可以作为源三角形网格的纹理,目标形状可以作为目标三角形网格的纹理。

(1-2)基于圆盘的近似刚性插值方法;

(1-3)运动可控的形状过渡

首先,用户在源形状上定义一个局部或者全局骨架,骨架上的每个点均落在源三角形网格的一个三角形中;根据源三角形网格和目标过渡三角形网格序列之间的三角形一一对应关系,使用重心映射,为过渡三角形网格和目标三角形网格派生出对应的骨架位置;

用户编辑任一插值时刻t对应的过渡三角形网格上的骨架,t∈(0,1),产生出新骨架姿势,设定被编辑过的骨架为“控制骨架”;通过双层传播机制,将控制骨架上的编辑效果传递到整个形状插值序列,产生所需的运动动态。

本发明是一种运动可控的形状插值方法。相比于已有的形状插值方法,本发明提供了一种简单直观的运动姿态控制方法,允许用户通过简单的骨架操作,来编辑整个形状过渡序列中的运动姿态,从而生成出更加逼真生动的动画序列。

作为优选,步骤(1-2)包括如下步骤:

(1-2-1)设{pi}为源三角形网格中顶点的集合,{qi}为目标三角形网格中顶点的集合;其中,每个源顶点pi与目标顶点qi对应,对源三角形网格中的每个源顶点pi,得到其环邻域中的各个邻居顶点,各个邻居顶点形成局部顶点集合,称局部顶点集合为圆盘pi;

(1-2-2)对于目标三角形网格中的每个源顶点qi,得到其环邻域中的各个邻居顶点,各个邻居顶点形成局部顶点集合,称局部顶点集合为圆盘qi;

(1-2-3)设pj为圆盘pi中的一个点,pj在圆盘qi中的对应点为qj,以pi和qi为旋转中心,定义局部线性变换l(i,j),l(i,j)包括旋转矩阵rα和缩放分量s;其中,α为向量pj-pi到向量qj-qi的旋转角度,rα为旋转角度α对应的旋转矩阵,s为向量qj-qi的长度与向量pj-pi的长度的比值;

(1-2-4)利用公式qj-qi=rα(pj-pi)s将pj变换到qj,在任一插值时刻t,计算并得到向量pj-pi和向量qj-qi的中间过渡向量rtα(pj-pi)(1-t+ts),rtα为旋转角度ta对应的旋转矩阵;

(1-2-5)设定为源三角形网格顶点和目标三角形网格顶点在时刻t的插值位置,通过最小化二次能量函数计算得到中各顶点的位置;中的j是和中的i作用相同的下标,表示集合中的两个不同顶点;

(1-2-6)根据得到源三角形网格顶点和目标三角形网格的过渡序列;依次将源形状和目标形状作为纹理贴到过渡序列上并进行线性纹理融合,得到源形状到目标形状的自然过渡动画序列。

作为优选,步骤(1-3)包括如下步骤:

(1-3-1)帧到帧的传播

以源形状上的骨架、中间过渡形状上的控制骨架、目标形状上的骨架为关键骨架,插值关键骨架的内在参数(即:骨架中关节段的长度、骨架中关节顶点的角度),得到骨架插值序列;将插值序列中的每个骨架关联到对应的过渡形状。

(1-3-2)骨架到三角形网格的传播

任一插值时刻t处的过渡形状关联了两个骨架,一个是由形状过渡序列派生出的骨架s,s描述了插值过程中该过渡形状的姿势,另一个是由用户编辑派生出的骨架s′,s′描述了该过渡形状在新的运动动态中所需的姿势。

设{jk}和{j′k}分别为骨架s和s′中的关节顶点,通过如下步骤调整过渡形状的姿势,使过渡形状的姿势与骨架s′所描述的所需姿势一致:

设k1和k2是骨架中的每一条关节段的两个关节顶点,计算向量jk2-jk1到向量j′k2-j′k1的旋转角度b,计算向量j′k2-j′k1的长度与向量jk2-jk1的长度之间的比值,将比值定义为缩放比例c;

设与过渡形状对应的过渡三角形网格的顶点位置的集合为每个网格顶点位置以骨架s中的关节顶点{jk}为约束,计算各个关节顶点jk相对该网格顶点位置的调和坐标可以看作关节顶点jk相对网格顶点位置的影响权值。

对于每个网格顶点位置在骨架s中找到一条关节段,使关节段的两个关节顶点对的影响权值之和在所有关节段中最小;

中的tα修改为tα+b,1-t+ts修改为1-t+ts+c;重新最小化得到过渡三角形网格的新位置,并得到过渡形状的新姿势,新姿势与骨架s′所描述的所需姿势一致。

本发明与背景技术相比,具有的有益效果是:可自动生成二维动画序列,可以有效提高二维动画的制作效率,极大降低其制作成本,具有重要的社会和经济意义。

因此,本发明具有如下有益效果:提供了一种简单直观的运动姿态控制方法,允许用户通过简单的骨架操作,来编辑整个形状过渡序列中的运动姿态,从而生成出更加逼真生动的动画序列。

附图说明

图1是本发明的一种源形状、目标形状及对应的同构三角化图;

图2是本发明的三角形网格的一种过渡序列图;

图3是本发明的形状的过渡序列及定义在源形状上的骨架的一种示意图;

图4是本发明的源形状、目标形状和中间形状上的骨架序列及编辑过的中间形状上的骨架的一种示意图;

图5是本发明的编辑骨架后产生的一种新的形状过渡序列图;

图6是本发明的一种流程图。

具体实施方式

下面结合附图和具体实施方式对本发明做进一步的描述。

如图6所示的实施例是一种运动可控的形状插值方法,包括如下步骤:

步骤100,源形状和目标形状的同构三角化生成

给定一个如图1所示的源形状和一个目标形状,用户在源形状和目标形状上分别放置多边形边界,使用同构三角形算法为源形状和目标形状生成一对同构三角化,同构三角化包含源三角形网格和目标三角形网格,三角形网格和目标三角形网格的顶点一一对应,且具有相同的连接边结构中;

其中,源三角形网格覆盖了源形状,目标三角形网格覆盖了目标形状,因此源形状可以作为源三角形网格的纹理,目标形状可以作为目标三角形网格的纹理。

步骤200,基于圆盘的近似刚性插值方法;

步骤210,设{pi}为源三角形网格中顶点的集合,{qi}为目标三角形网格中顶点的集合;其中,每个源顶点pi与目标顶点qi对应,对源三角形网格中的每个源顶点pi,得到其环邻域中的各个邻居顶点,各个邻居顶点形成局部顶点集合,称局部顶点集合为圆盘pi;

步骤220,对于目标三角形网格中的每个源顶点qi,得到其环邻域中的各个邻居顶点,各个邻居顶点形成局部顶点集合,称局部顶点集合为圆盘qi;

步骤230,设pj为圆盘pi中的一个点,pj在圆盘qi中的对应点为qj,以pi和qi为旋转中心,定义局部线性变换l(i,j),l(i,j)包括旋转矩阵rα和缩放分量s;其中,α为向量pj-pi到向量qj-qi的旋转角度,rα为旋转角度α对应的旋转矩阵,s为向量qj-qi的长度与向量pj-pi的长度的比值;

步骤240,利用公式qj-qi=rα(pj-pi)s将pj变换到qj,在任一插值时刻t∈[0,1],计算并得到向量pj-pi和向量qj-qi的中间过渡向量rtα(pj-pi)(1-t+ts),rtα为旋转角度ta对应的旋转矩阵;

步骤250,设定为源三角形网格顶点和目标三角形网格顶点在时刻t的插值位置,通过最小化二次能量函数计算得到中各顶点的位置;中的j是和中的i作用相同的下标,表示集合中的两个不同顶点;

步骤根据得到如图2所示的源三角形网格顶点和目标三角形网格的过渡序列;依次将源形状和目标形状作为纹理贴到过渡序列上并进行线性纹理融合,得到如图3所示的源形状到目标形状的自然过渡动画序列。

步骤300,运动可控的形状过渡

首先,用户在源形状上定义一个如图3所示的局部或者全局骨架,骨架上的每个点均落在源三角形网格的一个三角形中;根据源三角形网格和目标过渡三角形网格序列之间的三角形一一对应关系,使用重心映射,为过渡三角形网格和目标三角形网格派生出对应的如图4所示的骨架位置;

用户编辑任一插值时刻t对应的过渡三角形网格上的骨架,t∈(0,1),产生出新骨架姿势,设定被编辑过的骨架为“控制骨架”;通过如下的双层传播机制,将控制骨架上的编辑效果传递到整个形状插值序列,产生如图5所示的所需的运动动态。

步骤310,帧到帧的传播

以源形状上的骨架、中间过渡形状上的控制骨架、目标形状上的骨架为关键骨架,插值关键骨架的内在参数(即:骨架中关节段的长度、骨架中关节顶点的角度),得到骨架插值序列;将插值序列中的每个骨架关联到对应的过渡形状。

步骤320,骨架到三角形网格的传播

任一插值时刻t,t∈[0,1]处的过渡形状关联了两个骨架,一个是由形状过渡序列派生出的骨架s,s描述了插值过程中该过渡形状的姿势,另一个是由用户编辑派生出的骨架s′,s′描述了该过渡形状在新的运动动态中所需的姿势。

设{jk}和{j′k}分别为骨架s和s′中的关节顶点,通过如下步骤调整过渡形状的姿势,使过渡形状的姿势与骨架s′所描述的所需姿势一致:

设k1和k2是骨架中的每一条关节段的两个关节顶点,计算向量jk2-jk1到向量j′k2-j′k1的旋转角度b,计算向量j′k2-j′k1的长度与向量jk2-jk1的长度之间的比值,将比值定义为缩放比例c;

设与过渡形状对应的过渡三角形网格的顶点位置的集合为每个网格顶点位置以骨架s中的关节顶点{jk}为约束,计算各个关节顶点jk相对该网格顶点位置的调和坐标可以看作关节顶点jk相对网格顶点位置的影响权值。

对于每个网格顶点位置在骨架s中找到一条关节段,使关节段的两个关节顶点对的影响权值之和在所有关节段中最小;

中的tα修改为tα+b,1-t+ts修改为1-t+ts+c;重新最小化得到过渡三角形网格的新位置,并得到过渡形状的新姿势,如图5所示,新姿势与骨架s′所描述的所需姿势一致。

最小化方程(1)对应着一个线性最小二乘求解问题。通过对每个未知变量求偏微导并设其值为0,可以得一组线性方程,该线性方程组可通过高斯消去或者lu分解等数值方法对其进行求解。

应理解,本实施例仅用于说明本发明而不用于限制本发明的范围。此外应理解,在阅读了本发明讲授的内容之后,本领域技术人员可以对本发明作各种改动或修改,这些等价形式同样落于本申请所附权利要求书所限定的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1