使用线性拉伸/剪切模型仿真布的方法

文档序号:6477599阅读:211来源:国知局

专利名称::使用线性拉伸/剪切模型仿真布的方法
技术领域
:本发明涉及一种使用线性拉伸/剪切模型仿真布的方法,并且更具体地,涉及一种使用线性能量函数仿真布的方法。
背景技术
:无论在电影、动画、视频游戏还是虚拟现实(VR)仿真中,当需要创建具有足够水平的细节和真实性的人类的动画图像时,出现了仿真衣服的动态移动的问题。
发明内容[技术问题]遗憾的是,服装动画已经并且仍然给动画制作者保留了繁重的任务。这一令人沮丧的事情的主要原因之一是计算服装仿真的量包括耗费若干天的仿真时间来产生上万的多边形服装的一分钟长度的动画。除非大大地放弃质量,否则仿真的速度远不能实时。[技术方案]本发明的一个方面提供了一种使用基于边的线性拉伸和剪切模型仿真布的方法。该方法包括a)将布的材料点Pl,...,PN的几何信息映射到节点的网格,其中N是材料点的数目,并且所述网格的第i个节点具有位置&、质量mi以及速度Vi;b)通过将线性拉伸和剪切模型应用于每个网格节点的平移和旋转,基于施加给节点的力使用若干数目的运动方程来在多个时间步长计算节点的网格的几何形状的改变,其中方程的数目小于或者等于3N;以及C)更新网格节点的位置Xi和速度Vi,其中布的平面内变形由沿着两个相邻节点所限定的边的拉伸表示,其中用于两个相邻节点i、j的运动方程的能量函数在每个时间步长过程中被近似为五;-^(x&.-x;.)^-x;)其中k是连接节点i和j的弹簧常数,Xij=Xj-Xi,并且Xij*是在每个时间步长计算的、但是当微分时被当作是常量的矢量,其中通过对能量函数求微分来确定在运动方程中使用的力的至少一部分。映射材料点的几何信息包括选择布上的多个材料点,并且将多个材料点映射到节点的网格中。该网格可以包括规则三角形网格和规则矩形网格。计算每个时间步长的节点的网格的几何形状的改变可以使用隐式欧拉方法。节点的网格的动力学由AAv=b描述,其中A是3NX3N矩阵,并且b是3NX1矢量,其中h(VAM.'!—Af亚)并且力=婉,"^')对应于运动方程他-F其中M和F是3NX3N质量矩阵以及3NX1力矢量。通过求解线性方程组来获得Av,其中系统矩阵A是随着时间的常量从而仅在离线中预先计算矩阵求逆一次。通过能量函数的微分获得拉伸力。通过之前方向方法给出Xi/,x:=£|||其中9的/^=^的罗可以通过惯性边旋转给出Xi/V:"^,其中根据通过对某标]德里格斯公式计算旋转矩阵R,其中6是沿着o的单位矢量,并且其中对应于增量旋转hco的R由/+sin^[刮+(1-cos。[Af给出,其中[d)]是表示叉积算符A的斜对称矩阵。通过惯性顶点平移给出其中am(m=0,...,M)是待调整的常量。可以通过x;=给出x^,其中am(m=0,...,M)是待调整的常:本发明的另一方面提供了一种使用基于三角形的线性拉伸和剪切模型仿真布的方法。该方法包括a)将布的材料点P1.....Pw的几何形状的信息映射到节点的网格,其中N是材料点的数目,并且第i个节点具有位置Xi、质量nii以及速度Vi;b)通过将线性拉伸和剪切模型应用于每个网格节点的平移和旋转,基于施加给节点的力使用若干数目的运动方程来计算多个时间步长的节点的网格的几何形状的改变,其中方程的数目小于或者等于3N;以及c)更新网格节点的位置Xi和速度Vi,其中布的平面内变形由在Ui=[UiVi]T、Uj=[UjVj]T和uk=[UkVjT的三个相邻顶点的位移表示。其中在每个时间步长期间用于三个相邻节点i、j、k的运动方程的能量函数包括;2t&—5"1£^=丄乂2-51&一义以及其中A、ku、kv是未变形状态下的三角形面积、u和v方向的硬度,其中三角形由具有材料空间坐标Ui二[UiVi]T、Uj=[UjVj]T和Uk二[UkVjT的三个质点组成。其中Xi、Xj、禾Pxk是对应的3D笛卡尔空间位置,并且S是从3D材料空间到3D笛卡尔空间的映射,从而S(u,v)给出材料点(u,v)的3D位置,其中S和"表示通过旋转u和v轴90度获得的对角轴,&和&表示5和i;方向的硬度,并且其中矢量量SU*、SV*、《、和《被在每个时间步长计算并且在微分中被当作是常量。尽管三角形具有不同的拉伸和剪切应力,但是该应力在每个三角形中为常量。通过惯性轴旋转给出矢量量,《=n;"+i&,=其中三角形被假定为在[tn,tn+1]的短持续时间期间进行惯性移动,并且其中通过将Sun和Svn旋转h"获得Sun+1和Svn+1。可以根据通过对某标量e的/^=^5的罗德里格斯公式计算旋转矩阵1,其中^是沿着"的单位矢量,并且其中对应于增量旋转h"的尺由/+5^^5]+(1-(^。[刮2给出,其中[A]是表示叉积算符A的斜对称矩阵。通过下式给出"7^=丄"必"-'"其中am(m=0,...,M)是待调整的常量。可以通过惯性顶点平移给出矢量量,s,x+ta;+cx:和&、px;+^c;+rx;,其中a、b、c、p、q以及r是待调整的常量。可以通过x:=|>,X'—'"给出x二其中am(m=0,...,M)是待调整的常量。该方法进一步包括对于网格的每个节点的操作位置约束;定向约束;混合的约束;以及静态位置约束。能够实时地执行更新和操作。[有益效果]本发明的各方面提供了用于衣服的仿真的新的技术。所公开的技术修正了在现有的实时模型中存在的若干缺陷。而且,新的技术允许若干级别的质量与速度权衡,提供了可扩展性(scalability)的宽的范围。因此,本发明的技术提供了在诸如视频游戏和VR仿真的实时应用中的直接使用。而且这些技术能够被并入离线系统,用于在进行更精确的版本之前预览服装动画。从下面结合附图对实施例的描述中,本发明的各方面和优点将变得更加明显并且更容易理解,其中图1是示出根据本发明的仿真布的质量弹簧模型的图;图2是示出用于表示布的材料点的节点的矩形网格的图,其中矩形网格包括节点,每个节点具有与相邻的节点的连接以形成四边形形状;图3是示出用于表示布的材料点的节点的三角形网格的图,其中三角形网格包括节点,每个节点具有与相邻的节点的连接以形成三角形形状;图4是示出根据现有技术的估计位移的方向改变的方法的示意图;图5是示出根据本发明的实施例的预测位移的方向改变的第一阶惯性边旋转方法的示意图;图6是示出根据本发明的另一实施例的第二阶惯性顶点平移方法的示意图;以及图7是示出根据本发明的实施例的处理的流程图。具体实施例方式用于表示布的物理模型能够被分类为两类基于边(edge)的系统和基于面积(area)的系统。基于边的系统根据边的当前长度来测量平面内变形,而基于三角形的系统即基于面积的系统,根据由三个节点限定的每个三角形的面积变形来测量平面内的变形。本发明的实施例提供了用于在基于边的系统和基于面积的系统中的拉伸/剪切变形的可线性化的物理模型。在仿真中,利用N个质点(PpPy...,P》12、13、14、15、16表示一片布,如图1中所示。每个质点的位置和质量被分别表示为Xi和mi。通过连接^、X2.....Xw构建3N维矢量的矢量x。Xi(i=1至N)随着时间t变化。由于位置和矢量随着时间变化,它们可以写为Xi(t)和x(t)。Xin和xn是第n个离散的时间步长(timest印)处的Xi和x的值。而且,表达式Xij=Xj-Xi被用于表示互连由Xi和Xj表示的位置的矢量。由通过Xi和Xj表示的两个节点限定的边能够由来表示。漏肯隨禾口她針访皿《<formula>formulaseeoriginaldocumentpage9</formula>其中和分别是边的静止长度和硬度。空间导数给出从边Xil.贡献的作用在Pi上的恢复力<formula>formulaseeoriginaldocumentpage9</formula>上述源于材料的恢复趋势被称为内部力。通过相加给出来自所有相邻边的作用在Pi上的恢复力fi<formula>formulaseeoriginaldocumentpage9</formula>其中N(i)是Pi被连接到的质点的标号的集合。显式公式为了找出质点的机械移动,需要作用在质点上的合力。除了内部力之外,Pi还经历诸如重力和空气阻力的外部力。作用在Pi上的所有外部力的总和被表示为f,t。&是作用在Pi上的所有内部力和外部力的总和,即《=/+/T。牛顿第二定律描述了通过下面的方程给出Pi的移动<formula>formulaseeoriginaldocumentpage9</formula>方程4是用于每个(非约束)质点的公式,其可以概括地写为微分方程组<formula>formulaseeoriginaldocumentpage9</formula>其中M和F分别是3NX3N质量矩阵和3NX1力矢量。求解上述方程给出质点的随时间变化的轨迹。隐式公式显式公式看起来是直观的。此外,其并不要求求解线性方程组,并且因此容易实施。然而,显式公式易于受到数值不稳定性的影响。除非使用非常小的时间步长,否则系统常常偏离。已知下面所述的隐式公式更加的稳定。与方程5中所示的显式欧拉方法相比较,隐式欧拉方法采样tn+1的微分。S卩,隐式欧拉方法根据下式更新系统状态<formula>formulaseeoriginaldocumentpage9</formula>在严格的意义上,这里的时间积分被称为半隐式欧拉方法。但是,其简单地称为隐式方法:方程中应用对于F(xn+Ax,Vn+Av)的第F(X"+Ax,V"+Av)F+—Ax阶泰勒级数展开得到将上式带入方程6并且消去Ax得到:磁一.3x(7)现在,能够对于Av求解方程,并且能使用该结果以计算Ax=vn+Av。在上面的^脏1—-/^M-1部)5v(8)力=AM一l部、ax(9)乂c/八乂从而方程7能够被写为AAv=b这里,"A"是3NX3N矩阵,并且"b"是3NX1矢量。与显式方法相比较,方程10的Av的计算要求求解大的线性方程组。拉伸/剪切模型使得系统矩阵A为随时间的常量。然后,矩阵求逆能够仅在离线中预先计算一次,从而在线仿真能够快速地进行。上述加速是采用简化(较不精确的)物理模型的结果,将在下面描述其细节。使得矩阵A在隐式公式背景下变为常量的拉伸模型已经由Desbrun等人[11]公开,其在下面列出。他们的简化是基于忽略旋转移动,其显然是人工因素的结果。与他们的模型的不同在于对于旋转移动的简化考虑。因此,公开的方法能够产生显而易见的改进的结果。感谢在过去不同团队的开创性的工作[4]、[2]、[13]、[8]、[l]、[5]、[3],这些也在下面列出,布现在能够以显著的真实性来仿真。例如,现在能够使用质点模型产生自然的褶皱,并且已经显著地改进了布仿真中冲突处理的鲁棒性(robustness)。随着已经在动画质量中做出的改进,整个仿真算法已经被改进,从而以更合理的速度运行。例如,产生利用约10000个质点表示的服装的30秒长度的动画只需几天,除了现有技术中用于渲染的时间之外。然而,存在其中仿真速度应更快的若干应用领域。例如,在视频游戏中,应该实时地产生布的动画。Desbrun、Schroder以及Barr[ll]开创性地研究了布类对象的实时仿真的问题。为了加速半隐式方法,在计算力雅可比(forceJacobian)中,他们忽略了非线性力分量并且仅使用线性分量,这导致常数系统矩阵。因此,一旦在初始阶段预先计算逆系统矩阵,在每个时间步长不需要求解线性系统。非线性分量的忽略能够导致人工因素。为了补偿忽略非线性力导致的可能的误差,在仿真每个时间步长的最后采取角动量校正步长。但是这些步长不能完全地解决该问题;即使校正步长能够保留全局角动量,它们也不能保留局部区域的角动量。物理模型还使得系统矩阵为常量。但是,非线性力在雅可比计算中没有被一起忽略。10Kang、Choi以及Cho[lO]、[9]也公开了半隐式方法的简化,其预先计算逆海森矩阵或者避免求解大的线性系统。为了实现0(n)时间复杂度,使用被连接到每个布料质点的附近的质点的明确估计的将来的速度直接更新每个布料质点的速度改变。近来,Cordiner和Thalmann在[7]中介绍一种实时布动画系统。他们基于布移动图案将布分类为三个分类(紧、松、浮动)并且采用不同的方法来在每个分类中进行动画仿真。紧/松区域的移动高度依赖于体运动,并且因此这样的区域可能不需要完全3D仿真。几何技术被用于紧和松区域。另一方面,利用半隐式方法的质点系统被用于浮动区域。由于浮动区域可能仅占据通常的衣服中的一小部分,上述技术能够实现实时动画仿真。針访論隨申,基于边的系统指布的质量弹簧表示(参考图1),其中通过沿着边的拉伸实现平面内变形。基本可变形单元是边。拉伸能量函数被公开用于两个质点Pi和Pj之间的边,从而能够从其获得恢复力和力雅可比。由于通过仅关注网格的有限的部分(即,边)判断变形,因此当拓扑连接在所有边保持相同时基于边的系统更适合。因此,规则网格系统的情况下大多采用基于边的系统,如图2中所示。存在两种能够被考虑用于仿真布的规则的网格如图3中所示的规则三角形网格、以及如图2中所示的规则矩形网格。当使用矩形网格时,能够使用上述基于边拉伸模型通过进行对角连接仿真剪切变形。機漏,从能量函数求出拉伸力及其雅可比。因此,开发导致常量系统矩阵的物理模型的任务被减小到找到具有这样简化性质的新的能量函数。传统的能量函数的微分12Es.=—A:(lx,,卜丄)y2v(11)得到其相对于Xi或者Xj不是线性的。因此,力雅可比f不是随着时间的常量。那么,应该在每个时间步长求解在方程10中给出的线性系统。如果在方程中已经没有范数算符II,那么&将已经是线性的。因此,问题能够被改述为能够找到消除使用范数算符但是其值接近于方程11的值的能量函数?拉伸模型所使用的能量函数为巧x)).(xrx;)2(13)其中Xi/是在每个时间步长新计算的但是当微分时被视为常量的某矢量。在能量中没有范数算符。因此,力雅可比f现在是常量。接着可能出现的题是是否能够存在矢量量Xi/使得上述能量函数的使用产生可接受的布拉伸表现?通过实验,答案是肯定的。然后,使用什么值用于Xil*为了使方程13在物理意义上匹配方程ll,理想地,11Xi/应表示Xij的未拉伸的情况。该情况能够被表示为下述条件l《卜丄以及Xi/〃Xij,其中〃表示"平行"。方程13被用于将^的值从^/更新到^/+1。因此,第二条件能够更明确地表示为Xi/〃Xijn+1。这里,问题在于Xi广还不知道。一个绕过该问题的方法是使用Xi广的估计的方向。Desbr皿等人[11]描述了"...(我们)简单地决定忽略旋转,并且假定该非线性部分将保持为常:于Xi的估计的方法:X'。在本发明的实施例的描述中,该决定:因此,决定等价于使用(14)t相当于使用X".7lx"nl用该方案被称为之前方向(previousdirection)方法。如图4中所示的之前方向方法中,Xi/平行于x"n。使用之前的步长的方向是缺点。该方案产生了下述副效应仿真的布表现出保持Xij的旧的(全局)定向的趋势;这样的效应能够随着时间而积累。该副效应即使使用小的时间步长时也是存留的。他们公开了能够采取以增强角动量的保持的过程。然而,该过程保留的是整个系统的角动量。局部部分的角动量没有被保留,这对于仿真的结果的视觉真实性更重要。可以有两种方法来估计Xi/。一个被称为惯性边旋转,并且另一个被称为惯性顶点平移。这两种方法都不具有上述缺点。当时间步长被取为足够小时,这些方法都不会经历特定的副作用。惯性边旋转惯性边旋转(IER)方法的主要思想是基于在tn的Xij的角速度"预测Xijn+1的方向;假定Xij将继续以角速度旋转时间h,如图5中所示。旋转矩阵R表示在]期间发生的估计的增量定向改变。然后,该方法根据下式计算Xi/<formula>formulaseeoriginaldocumentpage12</formula>力'i(15)根据罗德里格斯公式计算旋转矩阵R,可以写为对某标量e的^y-^、其中s是的单位矢量。然后通过/+5;11^0]+(1-COS0)[6f给出对应于增量旋转h"的旋转矩阵R,其中[&是表示叉积算符A的斜对称矩阵。最后,需要估计角速度么tn处的角速度"n被近似为"1如果Xiin—1和Xi,n之间的角被表示为Z(Xiin—、Xiin),那<formula>formulaseeoriginaldocumentpage12</formula>(16)类似地,tn—1处的角速度"n—1被近似为z()《、xr<formula>formulaseeoriginaldocumentpage12</formula>现在,估计t^处的角速度(n)使用第一阶预测,通过下式计算(18)成使用第二阶预测,通过下式计算"co=con+(con-con-"=2on-on—1(19)或者使用更一般的第二阶预测,即通过下式计算co=acon+Pcon-1(20)其中a和|3是待调整的常量。通常更高阶的(的显式预测能够利用下式来完<formula>formulaseeoriginaldocumentpage13</formula>w=0,(21)其中am(m=0,...,M)是待调整的常量。将方程15带入方程13,并且在微分中将Xi/视为常量,拉伸力现在相对于x为线性。因此,方程7中的^为常量。用于表示阻尼的传统模型已经相对于v来说是线性的。因此,^也是常量。因此,整个系统矩阵A是常量。到目前为止已经被忽略的一个问题是在微分中将Xi/处理为常量能够导致人造因素。利用IER方法的实验揭示了该方法偶尔产生振动结果。可预见的是,当在Xi/值中存在大的波动时人造因素将更加显著。下面描述的惯性顶点平移方法在该方面更鲁棒。2)惯性顶点平移提供了另一种估计Xi/的方法,惯性顶点平移(IVT)方法。与IER的主要区别在于,代替假定对边做惯性运动,IVT认为每个顶点独立地移动。当没有关于顶点移动的具体信息时,可以假定每个顶点进行惯性移动,如图6中所示。IVT方法首先通过假定其进行惯性移动来计算Xin+1的估计的位置Xi*。例如,能够通过下式进行第一阶估计<formula>formulaseeoriginaldocumentpage13</formula>(22)但是能够利用下式进行更一般的第一阶估计(23)其中a和13是待调整的常量。能够利用下式进行第二阶估计但是能够利用下式进行更一般的第二阶估计,/,i,(25)其中Y、S和A是待调整的常量。能够利用下式进行一般的更高阶估计A/<formula>formulaseeoriginaldocumentpage13</formula>,(26)其中am(m=0,...,M)是待调整的常量。IVT方法的主要思想(与IER方法相比)不是在于用于估计新的顶点位置的具体(24)方案,而是在于将顶点处理为自由移动质点。在另外的实施例中,可以利用下式估计Xij*:X(/"Y*—Y*(27)当使用IVT方法时,与IER方法相比较,减少了振动人工因素。当使用第二阶估计时该减少更加显著。靴刀禾瞎ffi-,細表元已经使用了用于基于边的系统的线性剪切模型。在表示布时,还考虑其它两种变形剪切和弯曲。在矩形网格中,剪切变形能够通过对角连接利用在上面所述的模型来表示。对于在三角形网格中表示剪切变形,公开的模型不是特别地适合。然而,三角形网格由于其自身的网格结构内在地具有从剪切变形恢复的趋势。这是模型本来不想产生的副效应。为了更明确地表示三角形网格中的剪切变形,可以使用在基于三角形的线性拉伸/剪切模型中示出的技术。弯曲没有明确地用该模型示出。然而,当使用不规则的三角形网格时,即使不调用任何特定的弯曲模型,仿真的结果也将表现出从弯曲变形的恢复趋势。这是由于非自然的弯曲刚度[12]。而且,这也是模型原来不想要产生的副效应。该副效应能够在当弯曲变形不能被显式仿真(在实时应用中,通常限制能够为布仿真分配的计算)时的情况下被有益地利用。当能够被分配给布仿真的计算高度缺乏时,能够在不规则的三角形网格上采用基于边的线性拉伸模型,而没有对剪切或者弯曲变形显式建模。该模型中的唯一的弹簧是边处的线性弹簧。基于边的线性拉伸模型中描述的该模型的副效应能够被用于表现剪切/弯曲变形;由于其本质三角形网络将产生从剪切变形恢复的趋势。网格的不规则性将产生从弯曲变形恢复的趋势。因此,通过将线性拉伸模型应用于不规则的三角形网格,能够获得剪切和弯曲行为作为副产品。这样,可能在物理上是不精确的,但是能够在实施速度关键问题的实时系统中是有用的。即使在离线系统中,这也增加了另外的可扩展的选项。使用上述的基于边的线性拉伸模型是布的简单但是非常快速的表示。某于三角形的线件拉伸/煎切樽型基于三角形的系统指其中通过三个顶点的位移实现平面内变形的布的相互作用质点表示。基本的可变形单位是三角形。公开了用于由Pi、Pj和Pk形成的三角形的拉伸和剪切能量函数,从而能够从其得到恢复力和力雅可比。由于通过关注(三角形)区域而不是仅关注边来判断变形,因此基于三角形的系统对于网格的不规则性较为不敏感。与基于边的线性拉伸模型的显著不同在于,在基于三角形的模型中,能够考虑剪切变形。材料空间到3D空间映射S在由三个质点组成的三角形中,他们的材料空间坐标为Ui=[uivi]t,Uj=[UjVj]t,uk=[UkvjT,并且对应的3D笛卡尔空间位置分别为Xi,Xj,xk,如果S是从3D材料空间到3D笛卡尔空间的映射,那么S(u,v)给出材料点(u,v)的3D位置。简化的假设为,即使三角形将具有不同的拉伸和剪切应力,该应力也在每个三角形中为常量。在上述简化的假设14<formula>formulaseeoriginaldocumentpage15</formula>况下,空间导数s^芸i和s.-芸條够按照Ui,Uj,Uk,Xi,Xj,xk|来表达<formula>formulaseeoriginaldocumentpage15</formula>上述等式的显著结果在于Su和Sv都能够被表示为Xi,Xj,xk的线性组合,Su=aXi+bXj+cxk(29)Sv=pXi+qXj+rxk(30)其中,a,b,c,p,q和r从材料空间中的(未变形的)三角测量确定。機國申禾口靴刀,在前面公开的基于三角形的模型中,通常用于表示拉伸能量的公式为[1]<formula>formulaseeoriginaldocumentpage15</formula>其中,A、ku、kv分别是三角形(未变形的状态)的面积、u和v方向的硬度。至于<formula>formulaseeoriginaldocumentpage15</formula>并且其他的组[6]使用了^4半(l&卜l)2+A來-卜1)2(32)(33)以<formula>formulaseeoriginaldocumentpage15</formula>其中5和i5表示通过旋转u和v轴90度获得的对角轴,^和^表示jj和^方向的硬上公式中任何一个都没有使系统矩阵为常量。fe伸和煎切樽型能量函数为<formula>formulaseeoriginaldocumentpage15</formula>其中方程29和30中给出的线性组合被用于Su和Sv。还没有描述如何计算矢量量S/、S/、《、和《,这些矢量量在每个时间步长被提供并且在微分时被视为常量。但这时有一件事情是清楚的公式使得系统矩阵为常量。现在紧接着的问题是是否存在矢量量S二Sv*、《、和《使得上述能量函数的使用将产生布的可接受的拉伸和剪切行为。在基于边的系统中,答案是肯定的,并且有两种方法来进行估计惯性轴旋转和惯性顶点平移。1)惯性轴旋转原则上,Su*和Sv*应分别表示Sun+1和Svn+1的未拉伸的情况。由于Sun+1和Svn+1是不可用的,因此使用它们的估计。&"+'和瓦"+'表示Sun+1和Svn+1的估计。在一个实施计表例中,未拉伸的情况可以如下地计算<formula>formulaseeoriginaldocumentpage16</formula>类似地,《和《原则上应分别表示《+'和《+1的未拉伸的情况。分别将《+'和《+'的估为i"+'和》r'可以如下地计算s:和S.<formula>formulaseeoriginaldocumentpage16</formula>够使用计算《和《的更简单的方法是假设它们正垂直于sj和sv*。在此假设的情况下,能如下的等式<formula>formulaseeoriginaldocumentpage16</formula>将在下面描述如何获得估计^"+'、s""、&+1。^'+'和《'"的估计能够以与和^r'类似的方式来获得。描述估计《'+邻^+'的方法。假设三角形将在[tn,tn+1]短时间期间进行惯性移动,能够通过将Sun和Syn旋转来预测sun+i和svn+i,s卩,能够通过下式来计算g"+'和sr'.<formula>formulaseeoriginaldocumentpage16</formula>能够通过在基于边的线性拉伸模型中介绍的过程来估计。2)惯性顶点平移当没有先前的关于布移动的信息时,另一个可行的假设是顶点惯性移动。在基于边的线性拉伸模型中介绍的相同的过程能够被应用来获得&11+1的位置Xi*。然后,根据等式29和30取它们的线性组合以获得估计<formula>formulaseeoriginaldocumentpage16</formula>本发明的实施例提供了下面的内容。1)用于基于边的系统的可线性化的能量函数为了公式化边的平面内拉伸能量,公开了使用(Xij-Xi/)(Xij-Xi/),其中Xi/是在每个时间步长提供的并且在微分中被当作常量的某值。传统的布仿真的公式包含了项(Ix」-C)2,其导数相对于Xij是非线性的。其要求求解大的线性方程组。对于线性化,公开了用(Xij-Xi/)(Xij-Xi/)代替(lxij卜C)2。2)在基于边的系统中用于估计Xi/的惯性边旋转方法,其根据等式15计算Xi/。3)"的显式预测公开了使用等式18-21用于该预测。4)用于在基于边的系统中估计Xi/的惯性顶点平移方法,其将顶点处理为自由移动的质点。该方法根据等式27计算Xi/。5)Xi*的显式预测公开了使用等式22-26用于该预测。6)使用基于边的线性拉伸模型用于表示布,其中剪切变形或弯曲变形或者这两者没有被显式建模它是纯质量弹簧模型。该副效应是由于从剪切和/或弯曲变形的恢复。使用该简单模型的主要好处是加速。7)用于基于三角形的系统的可线性化的能量函数为了公式化三角形的平面内拉伸和剪切能量函数,公开了使用等式34和35。8)用于为上述基于三角形的线性拉伸/剪切模型估计SU*、SV*、《、和^的惯性顶点旋转方法,其根据等式36-41计算Su*、Sv*、《、和《。9)用于为上述基于三角形的拉伸/剪切系统估计S/、S二《、和《的惯性顶点平移方法,其根据等式44和45计算Su*、Sv*、《、和《。本发明的一方面提供了使用如图7中所示的线性拉伸和剪切模型的对布的实时仿真的方法。该方法包括a)将布的材料点Pl,...,PN的几何信息映射到节点的网格,其中N是材料点的数目,并且所述网格的第i个节点具有位置&、质量mi以及速度Vi(SI10);b)通过将线性拉伸和剪切模型应用于每个网格节点的平移和旋转,基于施加给节点的力使用若干运动方程在多个时间步长计算节点的网格的几何形状的改变,其中等式的数目小于或者等于3N(S210);以及c)更新网格节点的位置Xi和速度Vi,其中布的平面内变形由沿着两个相邻节点所限定的边的拉伸表示(S310),其中用于两个相邻节点i、j的运动方程的能量函数在每个时间步长过程中被近似为巧=全A:(x^.—x;).(x^一x;.)其中k是连接节点i和j的弹簧常数,Xij=Xj-Xi,并且Xij*是在每个时间步长计算的、但是当微分时被当作是常数的矢量,其中通过对能量函数求微分来确定在运动方程中使用的力的至少一部分。在能量方程中,使用(x-x*)"x-x*)来代替(Ix卜C)2,其中Z是在每个时间步长提供的某值,^在进一步的微分中被视为常量。基于布做惯性移动的简化假设来计算x、可以使用用于x*的计算的其它方法。虽然已经示出并且描述了本发明的各种实施例,但是本领域技术应理解,在不脱离本发明的原理和精神的情况下在该实施例中可以进行变化,在权利要求及其等价物中限定了本发明的范围。17本申请在此通过引用以下论文和出版物而将其全文并入DavidBaraff以及AndrewWitkin,Largestepsinclothsimulation.InProceedingsofSIGGRAPH98,ComputerGraphicsProceedings,AnnualConferenceSeries,Page43-54,ACM,ACMPress/ACMSIGGRAPH,1998;DavidE.Breen,DonaldH.House,MichaelJ.Wozny,Predictingthedrapeofwovenclothusinginteractingparticles.InProceedingsofSIGGRAPH94,ComputerGraphicsProceedings,AnnualConferenceSeries,第365-372页.ACM,ACMPress/ACMSIGGRAPH,1994,July;RobertBridson,RonaldP.Fedkiw,JohnAnderson,Robusttreatmentofcollisions,contact,andfrictionforclothanimation.InJohnHughes,editor,SIGGRAPH2002ConferenceProceedings,AnnualConferenceSeries,P594—603.ACMPress/ACMSIGGRAPH,2002;MichelCarignan,YingYang,NadiaMagnenat-Thalmann,DanielThalmann,Dressinganimatedsyntheticactorswithcomplexdeformableclothes.InComputerGraphics(ProceedingsofACMSIGGRAPH92),P99-104.ACM,1992,July;Kwang-JinChoi以及Hyeong-SeokKo,Stablebutresposivecloth.InJohnHughes,editor,SIGGRAPH2002ConferenceProceedings,AnnualConferenceSeries,P604-611.ACMPress/ACMSIGGRAPH,2002;Kwang-JinChoiandHyeong-SeokKo,Extendingtheimmediatebucklingmodeltotriangularmeshesforsimulatingcomplexclothes.InEurographics2003,shortp即er,2003;FredericCordinerandNadiaMagnenat-Thalma皿,Real-timeanimationofdressedvirtualhumans.InEurographics2002,2002^BernhardEberhardt,AndreasWeber,WolfgangStrasser,Afast,flexible,particle—systemmodelforclothdraping.IEEEComputerGraphicsandApplications,16(5):52-59,1996,September;Young_MinKangandHwan-GueCho,Bilayeredapproachforefficientanimationofclothwithrealisticwrinkles.InComputerAnimation2002,2002;Young-MinKang,Jeong-HyeonChoi,Hwan-GueCho,Chan-JongPark,Fastandstableanimationofclothwithanapproximatedimplicitmethod.InComputerGraphicsInternational,P247-256,2000;MarkMeyer,GiliesDebu皿e,MathieuDesbrunandAlanH.Barr,Interactiveanimationofcloth—likeobjectsinvirtualreality.JournalofVisualizationandComputerAnimation(JVCA),2001;P.Volino,N.Magnenat-Thalma皿,Implementingfastclothsimulationwithcollisionresponse.InProceedingsoftheConferenceonComputerGraphicsInternational(CGI-00),P257-268,2000,June;PascalVolino,MartinCourshesnesandNadiaMagnenatThalma皿,Versatileandefficienttechniquesforsimulatingclothandotherdeformableobjects.InProceedingsofSIGGRAPH95,ComputerGraphicsProceedings,AnnualConferenceSeries,P137-144.ACM,ACMPress/ACMSIGGRAPH,1995,August。权利要求一种使用线性拉伸和剪切模型仿真布的方法,所述方法包括下述步骤a)映射布的材料点P1、...、PN的几何信息到节点的网格,其中N是材料点的数目,并且所述网格的第i个节点具有位置xi、质量mi以及速度vi;b)通过将线性拉伸和剪切模型应用于每个网格节点的平移和旋转,基于施加给节点的力使用若干数目的运动方程来计算在多个时间步长的所述节点的网格的几何形状的改变,其中方程的数目小于或者等于3N;以及c)更新网格节点的位置xi和速度vi,其中布的平面内变形由沿着两个相邻节点所限定的边的拉伸表示,其中用于两个相邻节点i、j的运动方程的能量函数在每个时间步长过程中被近似为<mrow><msubsup><mi>E</mi><mi>ij</mi><mi>s</mi></msubsup><mo>=</mo><mfrac><mn>1</mn><mn>2</mn></mfrac><mi>k</mi><mrow><mo>(</mo><msub><mi>x</mi><mi>ij</mi></msub><mo>-</mo><msubsup><mi>x</mi><mi>ij</mi><mo>*</mo></msubsup><mo>)</mo></mrow><mo>&CenterDot;</mo><mrow><mo>(</mo><msub><mi>x</mi><mi>ij</mi></msub><mo>-</mo><msubsup><mi>x</mi><mi>ij</mi><mo>*</mo></msubsup><mo>)</mo></mrow></mrow>其中k是连接节点i和j的弹簧常数,xij=xj-xi,并且xij*是在每个时间步长计算的矢量,但是当微分时被当作常量,其中通过对能量函数求微分来确定在运动方程中使用的力的至少一部分。2.根据权利要求1所述的方法,其中,映射材料点的几何信息包括选择布上的多个材料点,以及将所述多个材料点映射到节点的网格。3.根据权利要求2所述的方法,其中所述网格包括规则矩形网格和规则三角形网格。4.根据权利要求1所述的方法,其中计算在每个时间步长的节点的网格的几何形状的改变使用隐式欧拉方法。5.根据权利要求4所述的方法,其中节点的网格的动力学通过下式来描述<formula>formulaseeoriginaldocumentpage2</formula>其中A是3NX3N矩阵,并且b是3NXl矢量,其中<formula>formulaseeoriginaldocumentpage2</formula>对应于运动方程M义=F,其中M和F是3NX3N质量矩阵以及3NX1力矢量。6.根据权利要求5所述的方法,其中通过求解线性方程组来获得Av,其中系统矩阵A是随着时间的常量,从而仅一次离线地预先计算该矩阵的逆。7.根据权利要求1所述的方法,其中通过能量函数的微分获得拉伸力。8.根据权利要求7所述的方法,其中通过之前方向方法给出Xi/,<formula>formulaseeoriginaldocumentpage2</formula>其中<formula>formulaseeoriginaldocumentpage2</formula>9.根据权利要求7所述的方法,其中通过惯性边旋转给出Xi/<formula>formulaseeoriginaldocumentpage3</formula>其中根据通过对某标量e的/uy-^)的罗德里格斯公式计算旋转矩阵R,其中cD是沿着"的单位矢量,并且其中对应于增量旋转h"的R由/+^11(9[刮+(1-)560[刮2给出,其中[c5]是表示叉积算符A的斜对称矩阵。10.根据权利要求9所述的方法,其中通过惯性顶点平移给出",<formula>formulaseeoriginaldocumentpage3</formula>其中am(m=0,...,M)是待调整的常量。11.根据权利要求7所述的方法,其中通过下式给出Xi/<-|><—"以及<formula>formulaseeoriginaldocumentpage3</formula>其中am(m=0,...,M)是待调整的常量。12.—种使用线性拉伸和剪切模型实时仿真布的方法,所述方法包括下述步骤a)映射布的材料点PI.....PN的几何信息到节点的网格,其中N是材料点的数目,并且第i个节点具有位置&、质量mi以及速度Vi;b)通过将线性拉伸和剪切模型应用于每个网格节点的平移和旋转,基于施加给节点的力使用若干数目的运动方程来计算在多个时间步长的所述节点的网格的几何形状的改变,其中方程的数目小于或者等于3N;以及c)更新网格节点的位置Xi和速度Vi,其中布的平面内变形由在u,-[",v,r、+^y和u^卜wr的三个相邻顶点的位移表示,其中在每个时间步长期间用于三个相邻节点i、j、k的运动方程的能量函数包括;<formula>formulaseeoriginaldocumentpage3</formula>其中A、ku、kv是未变形状态下的三角形面积、u和v方向的硬度,其中三角形由具有材料空间坐标u,.=["a]、PU4=[tVtf的三个质点组成,其中Xi、Xj、和xk是对应的3D笛卡尔空间位置,并且S是从3D材料空间到3D笛卡尔空间的映射,使得S(u,v)给出材料点(u,v)的3D位置,其中f和7表示通过旋转u和v轴90度获得的对角轴,&和&表示7和7方向硬度,并且其中矢量量Su*、Sv*、《、和《在每个时间步长被计算并且在微分中被当作常量。13.根据权利要求12所述的方法,其中,尽管三角形具有不同的拉伸和剪切应力,但是所述应力在每个三角形内为常量。14.根据权利要求12所述的方法,其中通过惯性轴旋转给出所述矢量量,<formula>formulaseeoriginaldocumentpage4</formula>其中三角形被假定为在[tn,tn+i]的短持续时间期间进行惯性移动,并且其中通过将Sun和S,n旋转h"获得S,和Svn+1。15.根据权利要求14所述的方法,其中根据通过对某标量e的/^=^)的罗德里格斯公式计算旋转矩阵R,其中A是沿着"的单位矢量,并且其中对应于增量旋转h"的R由/+sine[刮+(1-cos。[^;p给出,其中[6提表示叉积算符A的斜对称矩阵。16.根据权利要求15所述的方法,其中通过下式给出"其中am(m=0,...,M)是待调整的常量。17.根据权利要求12所述的方法,其中通过惯性顶点平移给出所述矢量量,<formula>formulaseeoriginaldocumentpage4</formula>其中a、b、c、p、q以及r是待调整的常量。18.根据权利要求17所述的方法,其中通过下式给出<formula>formulaseeoriginaldocumentpage4</formula>其中am(m=0,...,M)是待调整的常量。19.根据权利要求12所述的方法,进一步包括对网格的每个节点操作位置约束;定向约束;混合的约束;以及静态位置约束。20.—种使用线性拉伸和剪切模型仿真布的方法,所述方法包括下述步骤a)映射布的材料点PI.....PN的几何信息到节点的网格,其中N是材料点的数目,并且所述网格的第i个节点具有位置&、质量mi以及速度Vi;b)通过将线性拉伸和剪切模型应用于每个网格节点的平移和旋转,基于施加给节点的力使用若干数目的运动方程来计算在多个时间步长的所述节点的网格的几何形状的改变,其中方程的数目小于或者等于3N;以及c)更新网格节点的位置Xi和速度Vi;d),在每个节点操作位置约束、定向约束、混合的约束以及静态位置约束,其中布的平面内变形由沿着两个相邻节点所限定的边的拉伸表示,其中用于两个相邻节点i、j的运动方程的能量函数在每个时间步长过程中被近似为<formula>formulaseeoriginaldocumentpage5</formula>其中k是连接节点i和j的弹簧常数,<formula>formulaseeoriginaldocumentpage5</formula>并且Xij*是在每个时间步长计算的矢量,但是当微分时被当作常量,其中通过对能量函数求微分来确定在运动方程中使用的力的至少一部分,并且其中更新和操作被构造为实时地执行。全文摘要在布料中发生的变形能够被分解成两个分量平面内变形和平面外变形。拉伸和剪切是平面内变形,而弯曲是平面外变形。利用本方法中,能够实时地进行数值仿真,并且这种模型弥补了在现有实时模型中存在的一些缺陷,使得人工因素显著减少。能量函数中的(|x|-C)2对某常矢量x*用|x-x*|2代替,使得力雅可比变为常量,从而避免了每个时间步长求解大的线性方程组。本方法对于基于边和基于三角形的系统都使用了简化的物理模型。文档编号G06T17/10GK101711400SQ200880021504公开日2010年5月19日申请日期2008年7月11日优先权日2007年7月13日发明者崔光珍,高亨锡申请人:财团法人Seoul大学校产学协力财团
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1