CN103208130B - 大规模群体表演动画合成方法及设备 - Google Patents
大规模群体表演动画合成方法及设备 Download PDFInfo
- Publication number
- CN103208130B CN103208130B CN201310165997.1A CN201310165997A CN103208130B CN 103208130 B CN103208130 B CN 103208130B CN 201310165997 A CN201310165997 A CN 201310165997A CN 103208130 B CN103208130 B CN 103208130B
- Authority
- CN
- China
- Prior art keywords
- msub
- triangle
- graph
- motion
- scale group
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000010189 synthetic method Methods 0.000 title abstract 2
- 230000009977 dual effect Effects 0.000 claims abstract description 60
- 238000000034 method Methods 0.000 claims abstract description 39
- 230000009466 transformation Effects 0.000 claims description 67
- PXFBZOLANLWPMH-UHFFFAOYSA-N 16-Epiaffinine Natural products C1C(C2=CC=CC=C2N2)=C2C(=O)CC2C(=CC)CN(C)C1C2CO PXFBZOLANLWPMH-UHFFFAOYSA-N 0.000 claims description 34
- 239000011159 matrix material Substances 0.000 claims description 31
- 230000008859 change Effects 0.000 claims description 15
- 230000015572 biosynthetic process Effects 0.000 claims description 11
- 230000008569 process Effects 0.000 claims description 11
- 230000002194 synthesizing effect Effects 0.000 claims description 9
- 238000001308 synthesis method Methods 0.000 claims description 8
- 238000003786 synthesis reaction Methods 0.000 claims description 8
- 238000000844 transformation Methods 0.000 claims description 5
- 238000005070 sampling Methods 0.000 claims description 3
- 238000013519 translation Methods 0.000 claims description 3
- 230000017105 transposition Effects 0.000 claims description 3
- 238000013461 design Methods 0.000 abstract description 4
- 238000013507 mapping Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 5
- 230000000694 effects Effects 0.000 description 3
- 230000014509 gene expression Effects 0.000 description 3
- 230000007704 transition Effects 0.000 description 3
- 230000006399 behavior Effects 0.000 description 2
- 238000012937 correction Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 241000251468 Actinopterygii Species 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Landscapes
- Processing Or Creating Images (AREA)
Abstract
本发明提供一种大规模群体表演动画合成方法,首先确定待合成的大规模群体表演动画的初始状态并获取小规模群体表演动画的实例数据;然后建立群体运动对偶图,根据所述小规模群体表演动画来合成所述大规模群体表演动画。该方法通过群体运动对偶图可以把表面上看起来运动特征相似的小规模群体表演动画和大规模群体表演动画之间关联起来。借助于群体运动对偶图,用户只需要手工设计或通过已有的各种群体运动捕获方法得到小规模群体表演动画,就能够自动的生成大规模群体表演动画。而且设计者对大规模群体表演动画的编辑和控制可以间接的通过编辑和设计小规模群体表演动画来达到目的。
Description
技术领域
本发明属于涉及计算机图形学领域,尤其涉及群体合成技术。
背景技术
群体运动合成技术在近些年受到了愈来愈多的关注,它广泛的应用在诸多领域中,尤其是大型表演的虚拟演练和电影工业的群体运动特效合成等方面。在这些应用中的群体运动往往通过展示它们的宏观属性来达到模拟的目的,比如大型开幕式表演中成百上千的演员构造出带有艺术造型的群体队形以表达大会的主题思想或者电影中通过千军万马的两军对垒场面来展现特定的战术安排。与一般人群运动不同,在大型团体表演活动和影视中的群体,其运动需要听从导演指挥。群体运动的目的是表演,即根据导演的意图,在指定的时间到达指定的地点完成指定的动作。与之相应的动画,我们称之为群体表演动画。与一般的群体动画不同,在群体表演动画合成过程中,需要以一定形式表达设计者的创作意图,并通过技术手段实现对虚拟群体运动的控制,让他们“听从导演指挥”。
实现百人级甚至上千人的大规模群体的表演动画,需要解决几个方面的关键问题:1)如何表达导演的创作意图,表达的形式即要简洁又要直观,从而便于导演理解和交互创作。2)如何根据导演的创作意图,对大规模群体进行运动编辑和控制?考虑到群体规模较大,技术手段要尽可能的自动化,只需简单的交互就能控制虚拟群体“理解导演意图,完成导演任务”。此外,在视觉效果上,群体运动不仅要保持整体运动的协调性、队形变换的流畅性,又要保持每个个体的运动特性,并根据应用场景的不同满足一定的运动约束条件。
已有的群体动画技术,分为群体运动建模技术与群体运动控制技术两类。群体运动建模方法,从微观或宏观的角度建立群体的运动行为模型,能够模拟出鱼群捕食、人群疏散等复杂群体行为,比较适合模拟自治群体的运动。但针对群体表演动画,如何将创作意图融入到模型中,使得群体按照导演要求进行运动,缺乏相关的研究。群体运动控制方法,通过对群体运动施加某种外在约束控制,使得群体运动表现出某种特定的效果,因此更适合展示群体表演运动。然而,已有的群体运动控制方法,均是针对某种特定的需求而提出的,只能合成某一类特定的表演运动(或强调形状约束忽略个体运动流畅性和真实性,或强调位置约束关系忽略其它约束和运动个性化,或需要大量的交互),无法满足实际应用中变化多样的创作需求。目前常用的大规模群体表演动画合成方法是在多个关键帧中分别设定每个个体的位置,然后在这些关键帧之间通过插值的方法生成过渡片段。然而,这类方法需要用户手动地设置大量的空间约束关系,这是一个非常费时费力的过程。尤其是要合成的群体表演中包含的个体数目非常大的时候,会给创作者带来更大的挑战。
发明内容
因此,本发明的目的在于克服上述现有技术的缺陷,提供一种直观、高效的大规模群体表演动画合成方法,并且能够灵活地对大规模群体运动进行编辑和控制。
本发明的目的是通过以下技术方案实现的:
一方面,本发明提供了一种大规模群体表演动画合成方法,该方法包括:
步骤1)确定待合成的大规模群体表演动画的初始状态;
步骤2)获取小规模群体表演动画的实例数据;
步骤3)基于小规模群体表演动画的初始帧和所述大规模群体表演动画的初始状态来建立群体运动对偶图;
步骤4)基于所建立群体运动对偶图,根据所述小规模群体表演动画来合成所述大规模群体表演动画;
其中,所述群体运动对偶图包括表示小规模群体表演动画的左子图和表示大规模群体表演动画的右子图,左子图和右子图分别为由多个三角形构成的连通图,三角形的顶点代表群体中的个体;三角形的边连接两个具有位置绑定关系的个体,这种位置绑定关系在群体运动的过程中是保持不变的;左子图中的三角形与右子图中三角形之间存在运动对偶关系,具有运动对偶关系的两个三角形会尽可能相似地运动。
上述方法中,所述步骤2)中所述小规模群体表演动画与待合成的大规模群体表演动画具有相似的运动特征。
上述方法中,所述步骤3)可包括:
步骤31)基于小规模群体表演动画的初始帧构建群体运动对偶图的左子图;
步骤32)基于所述大规模群体表演动画的初始状态构建群体运动对偶图的右子图;
步骤33)在左子图和右子图中包含的两个三角形集合之间建立运动对偶关系。
上述方法中,所述步骤31)可包括:
对所获取的小规模群体表演动画的实例数据的初始时刻的状态进行采样,得到初始帧中对应的离散点集合;
对该离散点集合进行三角剖分,得到由多个三角形构成的连通图;
去除其中在群体运动中不断发生变化的边,仅保留由运动约束边构成的三角形,所述运动约束边连接的是两个具有位置绑定关系的个体,这种位置绑定关系在群体运动的过程中是保持不变的。
上述方法中,所述步骤33)可包括:对于右子图中每个三角形Tj,在左子图中寻找满足下面公式的三角形Si:
其中,Si表示左子图中选中的三角形;Tj表示右子图中选中的三角形;R和d分别表示左子图三角形Si所处的局部坐标系与右子图Tj所处的局部坐标系之间的旋转和平移变换矩阵;m和n分别表示左子图和右子图中三角形的个数;
然后,在所找到的满足上面公式的左子图中三角形Si与右子图中该三角形Tj之间建立运动对偶关系。
上述方法中,所述步骤4)可包括:
步骤41)根据小规模群体表演动画的第i帧相对于初始帧的状态变化,获取左子图中每个三角形对应的仿射变换,每个仿射变换表示第i帧相对于初始帧在左子图中三角形所发生的位置变化;每个三角形对应的仿射变换以该三角形对应的变换矩阵和偏移向量来表示;
步骤42)基于左子图中每个三角形对应的仿射变换,获取与其具有运动对偶关系的右子图中的三角形对应的仿射变换;
步骤43)基于所获取的右子图中的三角形对应的仿射变换对初始状态对应的右子图中三角形进行相应的位置变换,从而生成大规模群体表演动画的第i帧,其中i为大于1的自然数。
上述方法中,所述步骤42)中,对于左子图中三角形对应的仿射变换,与其具有运动对偶关系的右子图中的三角形对应的仿射变换应满足公式(3):
其中,为求二范数,其值为矩阵的转置乘以该矩阵特征根最大值的开根号;表示右子图中三角形rk对应的变换矩阵,为要求解的变量;表示与右子图中三角形rk的具有运动对偶关系的左子图中三角形对应的变换矩阵;n表示右子图中三角形的个数;
并且,所求解的右子图中三角形对应的变换矩阵必须满足下列的位置一致性约束,即
其中,rk和rl为右子图中的第k个和第l个三角形,它们的共享顶点为vi;s(vi)为所有具有共享顶点vi的三角形;和分别表示右子图中三角形rk对应的变换矩阵和偏移向量;和分别表示右子图中三角形rl对应的变换矩阵和偏移向量。
上述方法中,所述步骤42)中所求解的右子图中个体位置还可满足下列的速度约束:
其中ρ(vi+1,m)和ρ(vi,m)分别表示第m号个体在第i+1帧和第i帧中的位置;|F|表示个体m需要施加速度约束的运动所具有的帧数;T表示个体m需要施加速度约束的运动所持续的时间;为用户指定的速度阈值的上限。
又一方面,本发明提供了一种大规模群体表演动画合成设备,该设备包括:
用于确定待合成的大规模群体表演动画的初始状态的装置;
用于获取小规模群体表演动画的实例数据的装置;
用于基于小规模群体表演动画的初始帧和所述大规模群体表演动画的初始状态来建立群体运动对偶图的装置;
用于基于所建立群体运动对偶图,根据小规模群体表演动画来合成所述大规模群体表演动画的装置;
其中,所述群体运动对偶图包括表示小规模群体表演动画的左子图和表示大规模群体表演动画的右子图,左子图和右子图分别为由多个三角形构成的连通图,三角形的顶点代表群体中的个体;三角形的边连接两个具有位置绑定关系的个体,这种位置绑定关系在群体运动的过程中是保持不变的;左子图中的三角形与右子图中三角形之间存在运动对偶关系,具有运动对偶关系的两个三角形会尽可能相似地运动。其中,所述小规模群体表演动画与待合成的大规模群体表演动画具有相似的运动特征。
与现有技术相比,本发明的优点在于:
1)通过群体运动对偶图可以把表面上看起来运动特征相似的小规模群体表演动画和大规模群体表演动画之间关联起来。
2)借助于群体运动对偶图,用户只需要手工设计或通过已有的各种群体运动捕获方法得到小规模群体表演动画,就能够自动的生成大规模群体表演动画。
3)设计者对大规模群体表演动画的编辑和控制可以间接的通过编辑和设计小规模群体表演动画来达到目的。
附图说明
以下参照附图对本发明实施例作进一步说明,其中:
图1为根据本发明实施例的大规模群体表演动画合成方法的流程示意图;
图2为根据本发明实施例的群体运动对偶图示意图。
具体实施方式
为了使本发明的目的,技术方案及优点更加清楚明白,以下结合附图通过具体实施例对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
通过对现实生活中大量的群体表演动画观察发现,一些大规模群体表演动画和某些小规模群体表演动画从运动特征上(包括队形变换,运动速度以及表演动画等方面)看起来非常相似。因此,在根据本发明的一个实施例中,提供了一种基于群体运动对偶图的大规模群体表演动画合成方法,该方法采用群体运动对偶图把表面上看起来运动特征相似的小规模群体表演动画和大规模群体表演动画之间关联起来,从而完成大规模群体表演动画合成。
图1给出了根据本发明一个实施例的大规模群体表演动画合成方法。概括来说,该方法包括:步骤1,确定待合成的大规模群体表演动画的初始状态;步骤2,获取小规模群体表演动画的实例数据;步骤3,基于小规模群体表演动画的初始帧和大规模群体表演动画的初始状态来建立群体运动对偶图;步骤4,基于所建立群体运动对偶图,根据小规模群体表演动画来合成所述大规模群体表演动画。
更具体地,在步骤1,确定待合成的大规模群体表演动画的初始状态。例如,可以在导演的指导下,在群体动画创作工具中设计待合成的大规模群体表演动画的初始状态,它是一个离散的平面点集。
在步骤2,获取小规模群体表演动画的实例数据。
该实例数据也可理解为一段时间内小规模群体表演动画的多个帧。其中,小规模群体表演动画是根据要合成的大规模群体动画的运动特征通过设计或者运动捕获的方式得到,它可以是任何类型或处于任意场景中的动画,只要它与待合成的大规模群体表演动画具有相似的运动特征即可。
根据要合成的大规模群体表演动画的表演需求,往往需要获取一个或几个小规模群体动画。比如,如果大规模群体整体上由一个具有共同表演目标的群组构成,那么只需要一个小规模群体动画即可;如果大规模群体由多个具有不同表演目标的子群组构成,那么就需要获取多个小规模群体动画分别对应每个子群组。可以通过各种已有的群体运动捕获方法来得到小规模群体表演动画。例如,可以通过以下方式来获取:(1)可以在已有的群体动画创作工具(如3ds Max软件)中设计生成;(2)可以通过基于规则的群体动画模拟器生成;(3)可以用视频捕获的方式获取。所获取到小规模群体表演动画的实例数据表现为一个二维的运动轨迹点集合,反映个体在不同时间的位置变化。
步骤3,基于小规模群体表演动画的初始帧和所设计的大规模群体表演动画的初始状态来建立群体运动对偶图,通过该群体运动对偶图可以将表面上看起来运动特征相似的小规模群体表演动画和大规模群体表演动画相关联。
图2给出了根据本发明一个实施例的群体运动对偶图的示意图。从图2可以看出,所要建立的群体运动对偶图是一个不连通的无向图,包含两个连通的子图,分别被称为左子图和右子图。左子图用来表示已知的小规模群体表演动画,即实例运动数据;右子图用来表示待合成的大规模群体表演动画。
该群体运动对偶图包括以下几个基本构成元素:
顶点:每个顶点代表群体中的一个个体,它的位置是随时间的改变而变化的。
边:每条边都用来连接两个具有位置绑定关系的个体,这种位置绑定关系在群体运动的过程中是保持不变的,可以将这种边称之为运动约束边。所有的运动约束边都是无向边。
三角形:是群体运动对偶图的基本构图单元,由三条运动约束边依次连接三个顶点构造而成。三个顶点能够构成一个三角形,则表明它们之间的位置绑定关系最强。群体运动对偶图的左子图和右子图中都包含很多个三角形,不同的三角形之间存在共点和共边的情况。这样的三角形所体现的是在群体运动中具有规律性和稳定性的运动特征。
运动对偶关系:是指左子图和右子图中包含的两个三角形集合之间的映射关系,这种映射关系通常包含两种:一对一关系和一对多关系。通常可选择在形状相同、相似的三角形之间建立这种映射关系。可以将这种映射关系称为运动对偶关系。通过这种运动对偶关系使得右子图中的三角形生成与其具有对偶关系的左子图中三角形尽可能相似的运动(或称为变形),从而把小规模群体表演动画和大规模群体表演动画的运动特征相互关联起来,这样就完成了群体运动对偶图的创建。
借助于群体运动对偶图中的点、边和三角形等基本元素,可以把小规模群体表演动画和大规模群体表演动画中蕴含的时空变化信息有机地联系起来,从而可以基于小规模群体表演动画来合成大规模群体表演动画。
在一个示例中,所述群体运动对偶图的构建过程可以包括下列步骤:
1)构建群体运动对偶图的左子图。
左子图中所代表的小规模群体表演动画。如上文所述,所获取的小规模群体表演动画的实例数据表现为一个二维的运动轨迹点集合。对该二维的运动轨迹点集合,对初始时刻的状态进行采样,得到初始帧(即第一帧)中对应的离散点集合。由于处于同一个表演程式中的群体在其持续的时间内个体之间的位置绑定关系是保持不变的,所以只需要对初始帧的状态进行采样即可,后续帧的状态与初始帧的状态相比只是顶点的位置发生了变化(这里的变化是指由于顶点移动而产生了偏移),而其中所包含的运动约束边并没有发生变化(这里的变化是指增加或减少)。接着对该离散点集合进行自动的三角剖分,得到由多个三角形构成的连通图。然后辅以一定的手工修正操作,去除其中在群体运动中不断发生变化的边,仅保留由运动约束边构成的三角形,从而得到群体运动对偶图的左子图,该左子图所反映的是小规模群体表演动画的多个运动特征。左子图实际上是一个可以随时间改变而发生变化的动态图,用来表示整个群体运动序列。因此,可以用左子图中在每个时刻包含的三角形的状态来描述小规模群体表演动画的每一帧的运动状态,不同帧之间的运动状态变化可以表示为一个二维仿射变换集合,该集合中每一仿射变换记录的是每个帧相对于初始帧在左子图中三角形所发生的位置变化。如上面所述,对于小规模群体表演动画的某个帧而言,其对应的左子图实际上可以由前一帧的左子图中三角形进行某种变化而得到的,这种变化只是当前时刻中某些或全部的顶点的位置发生的变化,而运动约束边集合并没有改变。
图2中也示出了小规模群体表演动画的第一帧(Frame1)对应的左子图状态以及大规模群体表演动画初始状态对应的右子图状态。实际上,左子图和右子图对应的每一帧状态可以用其所包含的所有的三角形的状态来描述。以Li和Ri分别左子图和右子图在第i帧时的状态,则
其中,lij表示左子图中第i帧中第j中三角形;rik表示右子图中第i帧中第k个三角形;|L|和|R|分别为左子图和右子图中三角形的数目。
左子图和右子图中从第二帧开始每一帧的状态都可以看作是对初始帧(第一帧)变形而得到,即可以看作每一帧中的所有三角形从初始帧中的三角形通过二维仿射变换而来。这种二维仿射变换可以表示为一个二乘二的矩阵P或Q(分别用于左子图和右子图)和一个二维的偏移向量u或w(分别用于左子图和右子图)。因此左子图和右子图又可分别表示为:
其中,l1j表示左子图第1帧中的第j个三角形;r1k表示右子图第1帧中的第k个三角形;Pij表示左子图中第j个三角形从第1帧变形到第i帧所对应的变换矩阵;Qik表示右子图中第k个三角形从第1帧变形到第i帧所对应的变换矩阵;uij表示左子图中第j个三角形从第1帧变形到第i帧所对应的偏移向量;wik表示左子图中第k个三角形从第1帧变形到第i帧所对应的偏移向量;1<j<|L|,1<k<|R|。
2)构建群体运动对偶图的右子图。
如上文所述,所得到的大规模群体运动的初始状态也是一个离散的平面点集,同样对其进行三角剖分操作,得到由多个三角形构成的连通图。然后辅以一定的手工修正操作,去除其中在群体运动中不断发生变化的边,仅保留由运动约束边构成的三角形,从而得到群体运动对偶图的右子图。
3)建立群体运动对偶关系。
群体运动对偶图的左子图和右子图在形式上都表现为三角形网格,其基本构图单元为三角形。通常可选择在形状相同、相似的三角形之间建立映射关系。这种映射关系通常包含两种:一对一关系和一对多关系。映射关系例如M={(lα,rβ),(lθ,rδ),…,(lj,rk)}指定了把左子图中三角形的运动演绎到其对应的右子图三角形上,其中映射关系对(lj,rk)中lj代表左子图中的三角形,rk代表右子图中的三角形。此处的演绎也可以理解为传递,实际是指基于群体运动对偶图,根据左子图的三角形的运动求解出对应的右子图的三角形的运动,从而生成大规模群体表演动画的每个帧,并最终合成大规模群体表演动画。
如果所构建的左右子图中包含的三角形个数较少,可以由用户手动选择相同或相似的三角形来构建运动对偶关系。如果所构建的左右子图中包含的三角形个数较多,那么可以采用下面的方法来在左子图和右子图所包含的两个三角形集合之间建立运动对偶关系。该方法包括:首先对于右子图中每个三角形Tj,在左子图中寻找满足下面公式(2)的三角形Si:
其中,Si表示左子图中选中的三角形;Tj表示右子图中选中的三角形;R和d分别表示左子图三角形Si所处的局部坐标系与右子图Tj所处的局部坐标系之间的旋转和平移变换矩阵;m和n分别表示左子图和右子图中三角形的个数。
然后,在所找到的满足上面公式(2)的左子图中三角形Si与右子图中该三角形Tj之间建立运动对偶关系。
步骤4,基于所建立群体运动对偶图,根据小规模群体表演动画来合成所述大规模群体表演动画。如上文所述,小规模群体表演动画的每一帧的运动状态可以通过左子图中在每个时刻包含的三角形的状态来表示,因此,可以根据小规模群体表演动画的每个帧对应的左子图中三角形所发生的变换并基于所建立群体运动对偶图,将左子图中三角形的运动转换为对应的右子图中三角形的运动,从而生成大规模群体表演动画的每个帧,并最终合成大规模群体表演动画。
下面以生成大规模群体表演动画的第二帧为例更具体地介绍如何合成大规模群体表演动画。
首先,基于小规模群体表演动画中第二帧相对于第一帧所发生的状态变换,所述状态变换可以用左子图中所有三角形对应的仿射变换集合来表示,其中,左子图中每个三角形对应的仿射变换以该三角形对应的变换矩阵P和偏移向量u来表示。以左子图的第一帧到第二帧的状态变化所对应的变换矩阵为例,设左子图中某个三角形在第一帧和第二帧中的三个顶点坐标分别为vm和vm',m=1...3,则有:
用其中的第二个式和第三个式子减去第一个式子,得到
又可以写成:
P[v2-v1v3-v1]=[v2'-v1'v3'-v1']
可以求得P为:
P=[v2'-v1'v3'-v1'][v2-v1v3-v1]-1
进而可以求解u为:
u=v1'-[v2'-v1'v3'-v1'][v2-v1v3-v1]-1v1或
u=v2'-[v2'-v1'v3'-v1'][v2-v1v3-v1]-1v2或
u=v3'-[v2'-v1'v3'-v1'][v2-v1v3-v1]-1v3
对其中左子图中所包含的每一个三角形都采用上述的公式求解,则这两帧之间的状态变换可以表示为左子图中所有三角形对应的仿射变换集合{P1+u1,…,P|L|+u|L|},其中P1+u1是第一个三角形对应的仿射变换,P|L|+u|L|是第|L|个三角形对应的仿射变换。
类似的,小规模群体表演动画的每一帧相对于第一帧的状态变换都可以通过上述的方法求解这样的一个仿射变换集合来表示。
然后,将左子图中每个三角形对应的仿射变换施加到与该三角形存在运动对偶关系的右子图中的三角形,从而基于经变换后的右子图得到大规模群体表演动画的第二帧。
实际上就是根据左子图中每个三角形对应的仿射变换求出与该三角形存在运动对偶关系的右子图中的三角形对应的仿射变换,从而可以将右子图中的三角形进行相应的位置变换,以得到大规模群体表演动画的第二帧。对于左子图中三角形对应的仿射变换,与其存在运动对偶关系的右子图中的三角形对应的仿射变换应满足公式(3):
其中,为求二范数,其值为该矩阵的转置乘以该矩阵特征根最大值的开根号;n表示右子图中三角形的数目;
表示右子图中三角形rk对应的变换矩阵,为要求解的变量;
表示右子图中三角形rk的对偶三角形(位于左子图中)对应的变换矩阵。
并且,其中为了保证共享顶点(即多个三角形之间的交点)在同时被施加了多个不同的仿射变换时能够保持位置的一致性,所求解的右子图中三角形对应的变换矩阵必须满足下列的位置一致性约束,即
其中,rk和rl为右子图中的第k个和第l个三角形,它们的共享顶点为vi;s(vi)为所有具有共享顶点vi的三角形;和分别表示右子图中三角形rk对应的变换矩阵和偏移向量;和分别表示右子图中三角形rl对应的变换矩阵和偏移向量。
这样,通过左子图中每个三角形对应的仿射变换可以获取与该三角形存在运动对偶关系的右子图中的三角形的仿射变换,从而可以对大规模群体表演动画的初始状态的右子图中的三角形进行相应的位置变换,并基于经变换后的右子图生成大规模群体表演动画的第二帧。类似地,通过上述方法可以基于小规模群体表演的多个帧来生成大规模群体表演动画的多个后续帧,从而最终合成大规模群体表演动画。
此外,为了使得大规模群体中某些个体的运动速度能够满足用户的要求或者更合理,还可以要求所求解的右子图中个体位置满足下列的速度约束,即
其中ρ(vi+1,m)和ρ(vi,m)分别表示第m号个体在第i+1帧和第i帧中的位置;|F|表示个体m需要施加速度约束的运动所具有的帧数;T表示个体m需要施加速度约束的运动所持续的时间;为用户指定的速度阈值的上限。
在本发明的又一个实施例中,还提供了一种大规模群体表演动画合成设备,所述设备包括:
用于确定待合成的大规模群体表演动画的初始状态的装置;
用于获取小规模群体表演动画的实例数据的装置;
用于基于小规模群体表演动画的初始帧和所述大规模群体表演动画的初始状态来建立群体运动对偶图的装置;
用于基于所建立群体运动对偶图,根据小规模群体表演动画来合成所述大规模群体表演动画的装置;
其中,所述群体运动对偶图包括表示小规模群体表演动画的左子图和表示大规模群体表演动画的右子图,左子图和右子图分别为由多个三角形构成的连通图,三角形的顶点代表群体中的个体;三角形的边连接两个具有位置绑定关系的个体,这种位置绑定关系在群体运动的过程中是保持不变的;左子图中的三角形与右子图中三角形之间存在运动对偶关系,具有运动对偶关系的两个三角形会尽可能相似地运动。其中,所述小规模群体表演动画与待合成的大规模群体表演动画具有相似的运动特征。
在上述本发明具体实施例中,通过群体运动对偶图可以把表面上看起来运动特征相似的小规模群体表演动画和大规模群体表演动画之间关联起来。借助于群体运动对偶图,用户只需要手工设计或通过已有的各种群体运动捕获方法得到小规模群体表演动画,就能够自动的生成大规模群体表演动画。而设计者对大规模群体表演动画的编辑和控制可以间接的通过编辑和设计小规模群体表演动画来达到目的。由于小规模群体动画包含的个体数目较少,可以方便的对其运动进行交互编辑,甚至采用真人表演来获取运动信息,便于导演直观、有效地进行艺术创作。通过设置左子图与右子图间的运动映射关系,并操纵左子图中小规模群体运动,即可实现对右子图中的大规模群体的高层运动编辑与控制。
虽然本发明已经通过优选实施例进行了描述,然而本发明并非局限于这里所描述的实施例,在不脱离本发明范围的情况下还包括所作出的各种改变以及变化。
Claims (7)
1.一种大规模群体表演动画合成方法,所述方法包括:
步骤1)确定待合成的大规模群体表演动画的初始状态;
步骤2)获取小规模群体表演动画的实例数据,所述小规模群体表演动画与待合成的大规模群体表演动画具有相似的运动特征;
步骤3)基于小规模群体表演动画的初始帧和所述大规模群体表演动画的初始状态来建立群体运动对偶图;
步骤4)基于所建立群体运动对偶图,将所述小规模群体表演动画的每个帧对应的左子图中三角形的运动转换为对应右子图中三角形的运动以生成大规模群体表演动画的每个帧,并最终合成所述大规模群体表演动画;
其中,所述群体运动对偶图包括表示小规模群体表演动画的左子图和表示大规模群体表演动画的右子图,左子图和右子图分别为由多个三角形构成的连通图,三角形的顶点代表群体中的个体;三角形的边连接两个具有位置绑定关系的个体,这种位置绑定关系在群体运动的过程中是保持不变的;左子图中的三角形与右子图中三角形之间存在运动对偶关系,具有运动对偶关系的两个三角形会尽可能相似地运动;
其中,所述步骤3)包括:
步骤31)基于小规模群体表演动画的初始帧构建群体运动对偶图的左子图;
步骤32)基于所述大规模群体表演动画的初始状态构建群体运动对偶图的右子图;
步骤33)在左子图和右子图中包含的两个三角形集合之间建立运动对偶关系。
2.根据权利要求1所述的方法,所述步骤31)包括:
对所获取的小规模群体表演动画的实例数据的初始时刻的状态进行采样,得到初始帧中对应的离散点集合;
对该离散点集合进行三角剖分,得到由多个三角形构成的连通图;
去除其中在群体运动中不断发生变化的边,仅保留由运动约束边构成的三角形,所述运动约束边连接的是两个具有位置绑定关系的个体,这种位置绑定关系在群体运动的过程中是保持不变的。
3.根据权利要求1所述的方法,所述步骤33)包括:对于右子图中每个三角形Tj,在左子图中寻找满足下面公式的三角形Si:
其中,Si表示左子图中选中的三角形;Tj表示右子图中选中的三角形;R和d分别表示左子图三角形Si所处的局部坐标系与右子图Tj所处的局部坐标系之间的旋转和平移变换矩阵;m和n分别表示左子图和右子图中三角形的个数;
然后,在所找到的满足上面公式的左子图中三角形Si与右子图中该三角形Tj之间建立运动对偶关系。
4.根据权利要求1所述的方法,所述步骤4)包括:
步骤41)根据小规模群体表演动画的第i帧相对于初始帧的状态变化,获取左子图中每个三角形对应的仿射变换,每个仿射变换表示第i帧相对于初始帧在左子图中三角形所发生的位置变化;每个三角形对应的仿射变换以该三角形对应的变换矩阵和偏移向量来表示;
步骤42)基于左子图中每个三角形对应的仿射变换,获取与其具有运动对偶关系的右子图中的三角形对应的仿射变换;
步骤43)基于所获取的右子图中的三角形对应的仿射变换对初始状态对应的右子图中三角形进行相应的位置变换,从而生成大规模群体表演动画的第i帧,其中i为大于1的自然数。
5.根据权利要求4所述的方法,所述步骤42)中,对于左子图中三角形对应的仿射变换,与其具有运动对偶关系的右子图中的三角形对应的仿射变换应满足公式(3):
其中,为求二范数,其值为矩阵的转置乘以该矩阵特征根最大值的开根号;表示右子图中三角形rk对应的变换矩阵,为要求解的变量;表示与右子图中三角形rk的具有运动对偶关系的左子图中三角形对应的变换矩阵;n表示右子图中三角形的个数;
并且,所求解的右子图中三角形对应的变换矩阵必须满足下列的位置一致性约束,即
其中,rk和rl为右子图中的第k个和第l个三角形,它们的共享顶点为vi;s(vi)为所有具有共享顶点vi的三角形;和分别表示右子图中三角形rk对应的变换矩阵和偏移向量;和分别表示右子图中三角形rl对应的变换矩阵和偏移向量。
6.根据权利要求5所述的方法,所述步骤42)中所求解的右子图中个体位置还要满足下列的速度约束:
其中ρ(vi+1,m)和ρ(vi,m)分别表示第m号个体在第i+1帧和第i帧中的位置;|F|表示个体m需要施加速度约束的运动所具有的帧数;T表示个体m需要施加速度约束的运动所持续的时间;为用户指定的速度阈值的上限。
7.一种大规模群体表演动画合成设备,所述设备包括:
用于确定待合成的大规模群体表演动画的初始状态的装置;
用于获取小规模群体表演动画的实例数据的装置,其中所述小规模群体表演动画与待合成的大规模群体表演动画具有相似的运动特征;
用于基于小规模群体表演动画的初始帧和所述大规模群体表演动画的初始状态来建立群体运动对偶图的装置,其中,所述群体运动对偶图包括表示小规模群体表演动画的左子图和表示大规模群体表演动画的右子图,左子图和右子图分别为由多个三角形构成的连通图,三角形的顶点代表群体中的个体;三角形的边连接两个具有位置绑定关系的个体,这种位置绑定关系在群体运动的过程中是保持不变的;左子图中的三角形与右子图中三角形之间存在运动对偶关系,具有运动对偶关系的两个三角形会尽可能相似地运动;
用于基于所建立群体运动对偶图,将小规模群体表演动画的每个帧对应的左子图中三角形的运动转换为对应右子图中三角形的运动以生成大规模群体表演动画的每个帧,并最终合成所述大规模群体表演动画的装置;
其中,所述用于建立群体运动对偶图的装置被配置为:
基于小规模群体表演动画的初始帧构建群体运动对偶图的左子图;
基于所述大规模群体表演动画的初始状态构建群体运动对偶图的右子图;
在左子图和右子图中包含的两个三角形集合之间建立运动对偶关系。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310165997.1A CN103208130B (zh) | 2013-05-08 | 2013-05-08 | 大规模群体表演动画合成方法及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310165997.1A CN103208130B (zh) | 2013-05-08 | 2013-05-08 | 大规模群体表演动画合成方法及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103208130A CN103208130A (zh) | 2013-07-17 |
CN103208130B true CN103208130B (zh) | 2015-11-04 |
Family
ID=48755345
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310165997.1A Active CN103208130B (zh) | 2013-05-08 | 2013-05-08 | 大规模群体表演动画合成方法及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103208130B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107204028B (zh) * | 2017-04-14 | 2021-03-09 | 郑州科技学院 | 一种影视动画制作中大规模群体智能运动的制作方法 |
CN107424202A (zh) * | 2017-05-16 | 2017-12-01 | 山东师范大学 | 基于pbrt的大规模三维群体表演动画并行渲染方法 |
CN111539375B (zh) * | 2020-05-09 | 2020-12-04 | 北京理工大学 | 一种大规模人群行为辅助规划方法 |
CN112569598B (zh) * | 2020-12-22 | 2024-07-30 | 上海幻电信息科技有限公司 | 目标对象控制方法及装置 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101702243A (zh) * | 2009-11-03 | 2010-05-05 | 中国科学院计算技术研究所 | 一种基于关键队形约束的群体运动实现方法及系统 |
-
2013
- 2013-05-08 CN CN201310165997.1A patent/CN103208130B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101702243A (zh) * | 2009-11-03 | 2010-05-05 | 中国科学院计算技术研究所 | 一种基于关键队形约束的群体运动实现方法及系统 |
Non-Patent Citations (1)
Title |
---|
人群疏散虚拟现实模拟系统—Guarder;王兆其等;《计算机研究与发展》;20101231;第47卷(第6期);第969-978页 * |
Also Published As
Publication number | Publication date |
---|---|
CN103208130A (zh) | 2013-07-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103606186B (zh) | 一种图像与视频的虚拟发型建模方法 | |
CN102687176B (zh) | 用于展现动感对象的方法 | |
Ju et al. | Morphable crowds | |
Chen et al. | A system of 3D hair style synthesis based on the wisp model | |
EP2629265A1 (en) | Method and system for driving simulated virtual environments with real data | |
CN106780421A (zh) | 基于全景平台的装修效果展示方法 | |
US9262853B2 (en) | Virtual scene generation based on imagery | |
CN113344777B (zh) | 基于三维人脸分解的换脸与重演方法及装置 | |
CN103854306A (zh) | 一种高真实感的动态表情建模方法 | |
CN103208130B (zh) | 大规模群体表演动画合成方法及设备 | |
US11501481B2 (en) | Method for simulating fluids interacting with submerged porous materials | |
Smelik et al. | Semantic constraints for procedural generation of virtual worlds | |
Zhang et al. | The Application of Folk Art with Virtual Reality Technology in Visual Communication. | |
US11423613B2 (en) | Method for generating splines based on surface intersection constraints in a computer image generation system | |
US20220067244A1 (en) | Method for Generating Simulations of Fluid Interfaces for Improved Animation of Fluid Interactions | |
EP3980975A1 (en) | Method of inferring microdetail on skin animation | |
US11393180B2 (en) | Applying non-destructive edits to nested instances for efficient rendering | |
Jiang et al. | Animation scene generation based on deep learning of CAD data | |
US11783516B2 (en) | Method for controlling digital feather generations through a user interface in a computer modeling system | |
US11501493B2 (en) | System for procedural generation of braid representations in a computer image generation system | |
US11455780B2 (en) | Graphical user interface for creating data structures used for computing simulated surfaces for animation generation and other purpose | |
US20230215094A1 (en) | Computer Graphics Interface Using Visual Indicator Representing Object Global Volume and/or Global Volume Changes and Method Therefore | |
Wang et al. | Animation Design Based on Anatomically Constrained Neural Networks | |
Lv et al. | Optimization‐based group performance deducing | |
Wang et al. | Exploration of Animation Design Collaboration Mechanism Combining Mixed Reality and Intelligent CAD System |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |