CN1661633A - 布料动画制作数据结构及渲染三维图形数据的设备和方法 - Google Patents

布料动画制作数据结构及渲染三维图形数据的设备和方法 Download PDF

Info

Publication number
CN1661633A
CN1661633A CN200510005521.7A CN200510005521A CN1661633A CN 1661633 A CN1661633 A CN 1661633A CN 200510005521 A CN200510005521 A CN 200510005521A CN 1661633 A CN1661633 A CN 1661633A
Authority
CN
China
Prior art keywords
cloth
node
territory
definition
data structure
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.)
Pending
Application number
CN200510005521.7A
Other languages
English (en)
Inventor
安庭桓
金道均
禹相玉
尼古莱·Y·格拉斯莫夫
瑟盖·U·贝尔耶夫
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Priority claimed from KR1020040015607A external-priority patent/KR100571838B1/ko
Application filed by Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of CN1661633A publication Critical patent/CN1661633A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T13/00Animation
    • G06T13/203D [Three Dimensional] animation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/16Cloth
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/21Collision detection, intersection

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Processing Or Creating Images (AREA)

Abstract

布料动画制作的数据结构和通过使用该数据结构来反映3D图形数据的设备和方法。数据结构包括:垂直粒面域,沿布料的二维网孔垂直轴的粒面;水平粒面域,沿布料二维网孔的水平轴的粒面;高度域,布料二维网孔的高度;宽度域,布料二维网孔的宽度;和物理特征节点,作用于布料上的外力和内力、由于这些力所引起的布料位移、布料位移的物理特征值。3D图形数据渲染设备包括:分析器,用于输出通过从具有用于布料动画制作的数据结构的3D图形数据中识别节点和分析域的场景图;计算器,用于从场景图的节点和域来计算用于布料动画制作的物理量,和输出包括所计算物理量的场景图;和转换器,用于把包括所计算物理量的场景图转换成2D图像并且输出该2D图像。

Description

布料动画制作数据结构及渲染三维 图形数据的设备和方法
技术领域
本发明涉及三维图形数据的渲染(rendering),特别是涉及用于布料动画制作的数据结构,其实时逼真地动画制作布料,和用于使用该数据结构来渲染三维图形数据的设备和方法。
背景技术
为了从存储三维(3D)图形数据的文件中读取数据和把数据输出到显示屏,需要一个设备来分析3D图形数据并且把3D图形数据记录在视频存储器上,视频存储器储存将被输出到显示屏上的数据。通常,该设备被称作3D图形渲染引擎。
通常,3D图形数据包括位于三维空间中对象的几何结构信息、对象的材料、位置和光源特征,以及这类信息随时间的变化。对象的几何结构信息的例子包括组成对象的3D固定点的位置、固定点链路等等。对象的材料信息的例子包括色彩、表面光折射等等。这类信息用直观地或逻辑上可理解的结构来表示,因此用户可以容易地建立和修改3D图形数据。该结构一般被称作场景图,其具有一个非周期的树状结构。场景图由节点组成,节点包括对象的几何结构信息或材料信息,以及节点链路的信息。换言之,节点是场景图的其中一个基本元件。域定义节点的特殊特征。
近来,随着用于3D图形数据的渲染处理器在性能方面的提高,对于更实际地表示正常对象的希望也随之增加。常规的3D图形技术具有以简单方式表示的动画三维模型。近年来,适合于虚拟环境和通过表现自然现象来表示显影机的想象力已经变得容易实现,比如流水、风、和烟、以及人的头发或衣服的运动。
在表现布料的运动中,布料的固有特征和比如重力、风、加速和空气阻力等的外部物理因素二者都必须被考虑到。另外,布料与外部对象的接触影响应该也应考虑到。
近来,在动画制作中考虑这些物理因数的很多方法已经被建议。然而,因为所建议的方法用它们自己的格式来执行,所以不可能渲染和动画制作通用的3D图形模式。另外,由于对象的复杂的物理性质,用户很难执行动画制作创作。另外,因为它们使用的格式不同,其渲染工具和创作工具是不可兼容的。另外,在所创建的模式不能被再使用也是一个问题。
发明内容
本发明提供用于布料动画制作的数据结构,其定义了用于在商业性计算机程序中逼真和实时的布料动画制作的节点和域(field),这些程序比如虚拟现实模型建立语言(VRML)、动态图像专家组(MPEG)、3D MAX、Maya等等。
本发明还提供了用于渲染3D图形数据的设备和方法,其通过使用布料动画制作的数据结构而把3D布料模型渲染成一个2D图像。
根据本发明的一方面,提供了用于布料动画制作的一个数据结构,包括:垂直粒面域,其定义沿着布料二维网孔的垂直轴的粒面;水平粒面(granulation)域,其定义沿着布料二维网孔的水平轴的粒面;高度域,其定义布料二维网孔的高度;宽度域,其定义布料二维网孔的宽度;和物理特征节点,其定义计算物理特征值,该物理特征值被用于计算作用于布料上的外力和内力、受力引起的布料位移、和布料与对象碰撞所引起的布料位移。
为了计算作用于布料上的外力,物理特征节点可以包括重力加速度域,其定义用于计算重力加速度的;风速域,其定义用于计算空气阻力的风速;缓冲系数域,其定义用于计算外部缓冲力的缓冲系数;和空气阻力系数域,其定义用于计算空气阻力的阻力系数。另外,为了计算作用于布料上的内力,物理特征节点可以包括最大伸长域,其定义链接由布料二维网孔所组成点阵上聚集点的弹性的最大伸长;平面阻力系数域,其定义链接点阵中每个聚集点和其右、左、上、下的邻近聚集点的弹性的阻力系数;移动变形阻力系数域,其定义链接每个聚集点和其对角线方向上的邻近聚集点的弹性的阻力系数;和扭转阻力系数域,其定义了链接每个聚集点和其右、左、上、下的每两个邻近聚集点的弹性的阻力系数。另外,物理特征节点可以包括一个逆聚集域,其定义点阵中用于获得计算由于作用于布料上的力而布料位移所用的加速度的每个聚集点的逆聚集。另外,物理特征节点可以包括一个时隙域,其定义用于计算布料位移的时隙。
数据结构还可包括固定边缘域,其定义被固定的布料的网孔边缘。另外,数据结构可能还包括用于计算由于布料与对象的碰撞所引起的布料位移和用于表现该对象的碰撞节点。碰撞节点可包括一个摩擦系数域,用于计算对象和布料相碰撞点的移动速率;一个运动学节点,其定义和布料碰撞的虚拟对象;和一个可见形状节点,实际上用于表现同布料相撞的对象。
根据本发明的另一方面,提供了一个3D图形数据渲染设备,包括:分析器,用于输出一个场景图,其通过从具有用于布料动画制作的数据结构的3D图形数据中识别节点和分析域所获得;计算器,用于从场景图的节点和域来计算布料动画制作的物理量和用于输出包括所计算物理量的场景图;和转换器,用于把包括所计算物理量的场景图转换成一个2D图像并且输出该2D图像。计算器可包括一个布料识别单元,用于识别场景图中布料的节点;一个布料网孔创建单元,用于根据节点和域的值来创建布料的网孔;一个碰撞对象识别单元,用于识别是否存在同布料相撞的对象;一个碰撞检测单元,用于检验是否布料同该对象相撞;一个物理量计算单元,用于计算表现作用于布料上的内力和外力和由与该对象碰撞引起的布料位移的物理量;和一个布料网孔变形单元,用于通过把物理量计算单元所计算出来的布料位移施加到布料网孔而使布料结构变形,并且输出包括该物理量的场景图。碰撞检测单元可以检测布料是否同由运动学节点所定义的虚拟对象相撞。另外,当布料同运动学节点定义的虚拟对象相撞时,碰撞检测单元可以检测碰撞点的位置。
根据本发明的另一方面,提供了一个3D图形数据的渲染方法,包括:输出一个场景图,其通过从具有用于布料动画制作的数据结构的3D图形数据中识别节点和分析域而获得;(b)从场景图的节点和域来计算用于布料动画制作的物理量和输出包括所计算物理量的场景图;和(c)把包括所计算物理量的场景图转换成2D图像并输出该2D图像。
附图说明
本发明的上述和其它特征以及优点通过其中参考附图对实施例的详细描述将变得更加明显,其中:
图1是一个框图,示出布料的几何结构;
图2是一个框图,示出在“x-z”坐标系中被表示为三角网的图1的布料;
图3是一个框图,示出在根据本发明的ClothAnim节点中使用的节点和域值的示例;
图4是一个框图,示出在ClothAnimPhy节点中使用的域值的示例;
图5A是一个框图,示出在碰撞节点中所使用的节点和域值的示例,图5B是一个框图,示出在TruncatedCone节点中使用的域值的示例,和图5C是一个框图,示出在运动学节点中使用的域值的示例;
图6是一个框图,示出根据本发明的用于渲染3D图形数据的设备结构;
图7是一个框图,详细示出图6中示出的分析器;
图8是一个框图,详细示出图6中示出的计算器;
图9是一个框图,详细示出图6中示出的转换器;
图10是一个流程图,示出根据本发明的渲染方法中3D图形数据的分析进程;
图11是一个流程图,示出根据本发明的渲染方法中的计算进程;
图12是一个流程图,示出在根据本发明的渲染方法中把包括所计算物理量的场景图转换成2D图像的进程;
图13是示出使用根据本发明定义的节点和域的渲染示例的图;
图14是示出使用常规内插器节点的渲染示例的图;
图15是示出通过根据本发明的渲染方法来动画制作的布料和球状对象相撞的示例的图;
图16示出用于执行图15动画制作的碰撞器节点;和
图17示出用于实现图15的ClothAnim节点。
具体实施方式
现在将参考附图详细描述本发明的实施例。
首先阐述布料的物理模型。
图1示出布料的几何结构。布料的模型化利用了由聚集点(mass-point)组成的矩形点阵,这在X.Provot,图形接口′95,pp.147-158的”DeformationConstraints In a Mass-Spring Model to Describe Rigid Behavior”中被公开。每个聚集点通过三种不同类型的弹性被链接到邻近的聚集点。
首先是链接聚集点(i,j)到聚集点(i+1,j)、(i-1,j)、(i,j+1)和(i,j-1)的弹性,即图1中最粗的实线显示出布料的构造。该弹性抵抗布料平面表面内的张力。
其次,链接聚集点(i,j)到聚集点(i+1,j+1)、(i-1,j+1)、(i+1,j-1)和(i-1,j-1)的弹性,即图1中比较粗的实线,其抵抗布料平面内的移动变形。
第三,链接聚集点(i,j)到聚集点(i+2,j)、(i-2,j)、(i,j+2)和(i,j-2)的弹性,即图1中的最细的实线,其抵抗来自于布料平面外部的扭转。
接下来阐述作用在点阵中每个聚集点上的力。
每个聚集点的运动如等式1中所示由牛顿第二运动定律来决定。
[等式1]
mi ij x · · ij = F ij
其中,mij表示点阵中聚集点(i,j)的聚集,xij表示聚集点的空间位置矢量,和Fij表示作用于聚集点上的净力(net)矢量。
内部和外部力作用于每个聚集点。内力由邻近聚集点之间的弹性链接产生。外力包括重力、空气阻力、缓冲力等等。
现在阐述内力。
让T(i,j)是一组聚集点(k,I)。聚集点(k,I)通过弹性被链接到聚集点(i,j)。在这种情况下,作用在聚集点(i,j)上的内力Fij int可以被计算如下:
[等式2]
F ij int = Σ ( k , l ) ∈ T ( i , j ) K ijkl ( 1 - L ijkl | r kl - r ij | ) ( r kl - r ij )
其中,Kijkl表示链接聚集点(i,j)与聚集点(k,I)的弹性的刚性(弹簧常数),Lijkl表示平衡状态中的弹性的长度,rij表示聚集点(i,j)的位置向量,和rkl表示聚集点(k,I)的位置矢量。
接下来,外力可以主要分为重力、缓冲力、空气阻力和相对加速度。
重力Fij g由等式3定义。
[等式3]
F ij g = m ij g
其中,mij是聚集点(i,j)的聚集,和g是重力矢量加速度。
外部缓冲力Fij d由等式4定义。
[等式4]
F ij d = - μ v ij
其中,μ是缓冲系数,和
v ij = r · ij
是聚集点(i,j)的速度矢量。
空气阻力Fij a由等式5定义。
[等式5]
F ij a = c ( n ij · ( u w - v ij ) ) n ij
其中,c是阻力系数,nij是聚集点(i,j)的法向矢量,和uw是风速矢量。
由相对加速度引起的力Fij r由等式6定义。
[等式6]
F ij r = - m ij ( a 0 + ϵ × r ij + ω × ( ω × r ij ) + 2 ω × v ij )
其中,a0是线性加速度矢量,ω和ε分别是布料的部分运动的坐标系中的角速度和角加速度矢量。
净力Fij(t)通过相加内力和外力而被获得如下:
[等式7]
F ij ( t ) = F ij int + F ij g + F ij d + F ij a + F ij r
为了计算聚集点的位移,使用Euler方法,即一个初步的数值分析方法。所有聚集点的空间位置矢量rij和速度矢量vij都被假设在时间t是已知的。所有在时间t+T的位置和速度矢量被计算如下:
[等式8]
rij(t+τ)=rij(t)+vij(t)τ
[等式9]
vij(t+τ)=vij(t)+aij(t)τ
其中,当rij和vij被假设在时间t不同时,rij和vij是Taylor级数展开式中的第一和第二级。从而可以获得时间t+T的大概位置。另外,时间t+T的近似速率可以从等式9获得。等式9所需的聚集点的加速度矢量可以被获得如下:
[等式10]
a ij ( t ) = 1 m F ij ( t )
接下来阐述布料与另一对象的碰撞。
假设布料同具有预定形状的刚体相撞,比如球体、圆锥体、柱体或矩形。
在这时候,应该执行两个步骤。为了确定碰撞是否实际上出现,第一步将检测是否布料的某个聚集点位于碰撞对象。为了计算由于碰撞所引起的布料位移,第二步将检测在布料的某个聚集点被投射的碰撞对象表面上的碰撞位置。
根据这类方法,布料聚集点的位移不用检测穿透阶段就可以被计算。
当布料聚集点的位置矢量yij位于碰撞对象上时,速度矢量vij被计算如下:
[等式11]
v ij = v t ( 1 - k f | v n | | v t | ) , | v t | &GreaterEqual; k f | v n | 0 , | v t | < k f | v n |
其中,vt和vn分别是在聚集点位置yij的聚集点的切向速度分量和法向速度分量,kf是突破点的摩擦系数。为了获得诸如速率、对象表面的法线和摩擦系数之类的必需值,假设聚集点位置yij被投射到对象表面和穿透现象出现在投射位置。
当布料所有聚集点的位置在时间步骤根据欧拉方法被获得时,布料聚集点的位置矢量yij可以在时间t+r被获得如下:
[等式12]
yij(t+τ)=xij(t)+τvij(t)
同时,用于布料动画制作的数据结构可以由ClothAnim、clothAnimPhys和碰撞器节点来定义。
如上结合图1所述,布料通过使用由聚集点组成的矩形点阵和由于内力和外力引起的每个聚集点的移动被建模。另外,每个聚集点由于与球形或矩形的刚体相碰撞而移动。图2示出在”x-z”坐标系中被表示为三角网的布料。
ClothAnim节点包括表示具有图2网状结构的布料的聚集点的域值、和与内力、外力和作用于聚集点上的碰撞相关的节点和域值。
用于ClothAnim节点的节点和域值的例子在图3中被示出。
用于ClothAnim节点的域包括numHSections域、numWSections域、高度和宽度域、clothAnimPhys节点、约束域和碰撞器节点。
numHSections域定义沿着”z轴的二维网孔的粒面(granulation),和numWSections域定义沿着”x”轴的二维网孔的粒面。在图2中,numHSections是3和numWSections是5。高度域定义沿着”z”轴的二维网孔的高度。宽度域定义沿着”x”轴的二维网孔的宽度。
图2中布料的二维网孔由numHSections、numWSections、高度和宽度域组成。由numHSections域值分派的高度域值和由numWSections域值分派的宽度域值是等式2中用于获得内力的初始状态Lijkl
clothAnimPhys节点定义布料的物理特征。几个ClothAnim节点可以共享clothAnimPhys节点。如果clothAnimPhys如图3中所示是空值,则不定义节点值而使用预定值。clothAnimPhys节点的域在后面阐述。
约束域具有″左″、″右″、″顶端″和″底端″串中的任意一个。约束域定义矩形布料的网孔中的固定边缘。当该域被设置为″左″时,左边缘不移动而其它边缘可以在布料网孔中移动。约束域可被用于被固定到测视信号(flagpole)的标记在风中飘动的动画制作。然而,如果串如图3中所示不被定义在约束域中,则所有的边缘都可以移动。
碰撞器节点具有将在碰撞检测中被考虑的″运动学″节点,这将在后面描述。
布料的运动由聚集点之间的内力和诸如重力、空气阻力和缓冲力之类的外力来确定。clothAnimPhys节点具有这些力的值。
在clothAnimPhys节点中使用的域值的例子在图4中被示出。clothAnimPhys节点由重力域、风力域、timeStep域、dissipativeCoeff域、nodeMasslnv域、airResistCoeff域、maxElongation域、stiffnessStructH域、stiffnessStructW域、stiffnessShear域、stiffnessBendH域和stiffnessBendW域组成。在这些域当中,重力域定义重力加速度矢量g并且被用于计算重力。风力域定义风速矢量Uw并且被用于计算空气阻力。timeStep域定义时隙t,用于根据欧拉方法来计算聚集点的位置和速率。dissipativeCoeff域定义缓冲系数μ,其被用于计算外部缓冲力。nodeMasslnv域定义聚集点的逆聚集m-1,并被用于计算由于内力和外力引起的加速度。假设布料密度是唯一的,则每个聚集点的聚集可以被认为是相同的。airResistCoeff域定义阻力系数c,其被用于计算空气阻力。maxElongation域定义链接聚集点的弹性的最大伸长。如果弹性过度伸长,则它被强制取消。stiffnessStructH域定义沿着”z”轴的弹性刚性。弹性抵抗布料平面表面内的张力。stiffnessStructW域定义沿着”x”轴的弹性刚性。弹性抵抗布料平面表面内的张力。stiffnessShear域定义链接对角线方向中的聚集点的弹性的刚性。该值对应于布料平面内的移动变形(剪切)。stiffnessBendH域定义链接”z”轴方向上每两个邻近聚集点的弹性的刚性。该弹性抵抗来自于布料平面外的扭转。stiffnessBendW域定义链接”x”轴方向上每两个邻近聚集点的弹性的刚性。该弹性抵抗来自于布料平面外的扭转。stiffnessStructH域、stiffnessStructW域、stiffnessShear域、stiffnessBendH域和stiffnessBendW域是用于计算内力的Kijkl
碰撞器节点定义ClothAnim节点的碰撞。碰撞器节点和域值的例子在图5A中被示出。碰撞器节点由frictionCoeff域、运动学节点和visibleShape节点组成。frictionCoeff域定义摩擦系数kf,其被用于碰撞响应进程。
运动学节点定义同ClothAnim节点相撞的虚拟对象。存在两个方法来定义运动学节点。
首先,运动学节点的DEF名字可以在ClothAnim节点中的碰撞器节点域中被定义。在这个域中,运动学节点可能具有两个已经在VRML标准中被定义的几何结构节点,Box和Sphere节点,和没有在VRML标准中被定义的几何节点,TruncatedCone节点。在”Sphere”节点的情况下,球体的半径将应被定义并且球体具有在VRML标准中使用的球体节点相同的形状。在”Box”节点的情况下,box的尺寸将应被定义并且box具有与VRML标准中使用的Box节点相同的形状。在”TruncatedCone”节点的情况下,它的高度和它上下表面的半径应该被定义。如果它的上及下表面的半径相同,则它具有圆柱体的形状。如果顶面或底面的半径是0,则它具有圆锥体的形状。TruncatedCone节点的例子在图5B中被示出。
其次,运动学节点可能具有clothAnimModel域的值,其定义同ClothAnim节点相撞的虚拟对象。运动学节点的例子在图5C中被示出。clothAnimModel可能具有三个原始形状,″球体″、″盒子″和”TruncatedCone”,其与几何节点的那些形状相同。
visibleShape节点被用于示出在显示屏上同真实的布料相撞的对象并且具有VRML标准中定义的形状节点。
接下来,根据本发明的渲染设备和方法将参考图6到13被详细描述。
图6是根据本发明的渲染设备的一个框图。该渲染设备包括分析器610、计算器620和转换器630。
分析器610输出一个场景图,其通过域识别节点和分析来自于具有用于布料动画制作的数据结构的3D图形数据IN的域而获得。
计算器620计算用于布料动画制作的来自场景图的节点和域的物理量并且输出包括所计算物理量的场景图。
转换器630把包括所计算物理量的场景图转换成2D图像OUT并且输出该被转换的图像。
图7是图6分析器610的一个框图。分析器610包括节点识别单元710、域分析单元720、字符和比特序列识别单元730和场景图绘制单元740。现在将参考图10来描述分析器610每个单元的功能,图10是示出分析3D图形数据进程的一个流程图。
节点识别单元710识别来自3D图形数据IN1(操作S1000)的节点。字符和比特序列识别单元730分析从节点识别单元710输入的节点字符序列并且输出分析后的节点字符序列到节点识别单元710。根据识别节点,节点识别单元710可以识别是否3D图形数据是对象的几何信息、对象的材料等等。接下来,将用域来填充的一个空间被建立于在节点识别单元710分析得来的节点中(操作S1010)。字符和比特序列识别单元730分析从域分析单元720输入的域的字符或二进制比特序列并且把分析后的序列输出到域分析单元720。域分析单元720分析将用域值填充空间的3D图形数据(操作S1020)。场景图绘制单元740输出通过插入具有分析域值的节点来构成的场景图OUT1(操作S1030)。场景图具有包括组成布料的聚集点的几何信息的节点,比如位置和聚集点的链接、布料材料等等。接下来,在分析进程中,确定是否3D图形数据具有更多将被分析的节点(操作S1040)。如果3D图形数据具有更多将被分析的节点,则分析进程返回操作S1000并且被反复。否则分析进程被结束。
图8是示出图6计算器620的一个框图。计算器620包括布料识别单元810、布料网孔创建单元820、碰撞对象识别单元830、碰撞检测单元840、物理量计算单元850和布料网孔变形单元860。现在将参考图11描述计算器620每个单元的功能,图11是示出在计算器620中执行的场景图计算进程的一个流程图。
布料识别单元810识别输入场景图IN2中布料的节点(操作S1100)。布料网孔创建单元820根据分析器610中分析的节点和域来创建布料网孔(操作S1110)。接下来,碰撞对象识别单元830确定在输入场景图IN2中是否存在同布料相撞的对象,即是否存在碰撞器节点(操作S1120)。如果没有同布料相撞的对象,则计算进程进行到操作S1150。
如果在操作S1120中存在同布料相撞的对象,则碰撞对象的几何结构从碰撞器节点的几何形状信息中被识别出来(操作S1130)。碰撞检测单元840检测是否对象同布料相撞(操作S1140)。另外,碰撞检测单元840检测是否运动学节点定义的虚拟对象同布料相撞。如果虚拟对象同布料相撞,则碰撞检测单元840检测碰撞点的位置。
接下来,如果存在同布料相撞的对象,则物理量计算单元850计算物理量,比如内力和外力、由于这些力引起的布料位移、由于碰撞引起的布料位移等等。如果没有,则物理量计算单元850计算物理量,比如内力和外力、由于这个力引起的布料位移等等(操作S1150)。所计算的力和位移与上述相同。布料网孔变形单元860基于所计算的物理量使布料网孔的结构变形,并且输出包括所计算物理量的场景图(操作S1160)。接下来,计算进程确定是否存在更多同布料相撞的对象(操作S1170)。如果存在更多同布料相撞的对象,则计算进程返回到操作S1130。如果没有,则计算进程确定是否存在更多被计算的节点(操作S1180)。如果存在更多被计算的节点,则计算进程返回到操作S1100。如果没有,则场景图的计算进程被结束。
图9是示出图6转换器630的一个框图。转换器630包括材料信息读取单元910和对象转换单元920。现在将参考图12描述转换器630每个单元的功能,图12是示出把场景图转换成2D图像的进程的一个流程图。
材料信息读取单元910读取从计算器620输入的场景图INS的节点材料信息(操作S1200)。例如,节点材料信息包括纹理、透明度等等。对象转换单元910经由适当的坐标变换把具有使用材料信息计算出来的物理量信息的场景图转换成2D图像OUT3,并且输出该被转换的图像(操作S1210)。接下来,材料信息读取单元910确定是否存在更多节点要被转换(操作S1220)。如果存在更多的节点要被转换,则转换进程返回到操作S1200并且反复进行。否则把转换成进程被结束。
图13示出使用根据本发明定义的节点和域的渲染实例。图14示出一个使用常规内插器节点的渲染实例。图13示例的文件大小是1,568字节,图14示例的文件大小是1,375,06l字节。因此,根据本发明的渲染方法使用一个文件,其大小比在使用内插器节点的常规方法中使用的文件小876倍。
图15示出了根据本发明的渲染方法来动画制作的布料和球状对象相撞的示例。当球形对象同布料相撞时可以看到自然变皱的形状。
图16示出一个用于执行图15动画制作的碰撞器节点。碰撞器节点具有frictionCoeff域以定义碰撞响应进程期间使用的摩擦系数。另外,运动学节点可能具有称作球体的几何形状节点,并且定义同布料相撞的对象。visibleShape节点具有一个被称作外貌的外貌节点和被称作球体的几何形状节点。在此,外貌节点具有外貌信息。材料节点具有碰撞对象的色彩信息。当图像路径被写入纹理节点的url域时,图像被应用。
图17示出一个ClothAnim节点,其使用图16的碰撞器节点以用于执行图15的动画制作。ClothAnim节点通过呼叫碰撞器节点来执行布料的动画制作。
本发明可以执行为存储在计算机可读记录介质上的计算机可读码。计算机包括具有信息处理功能的所有设备。计算机可读记录介质包括各种用于储存通过计算机系统读取的数据的记录设备。例如,计算机可读记录设备包括ROM、RAM、CD-ROM、磁带、软盘、光数据存储设备等等。
根据本发明,节点可以从点阵形状的布料创建3D图形并且描述布料的内部特性。另外,通过考虑作用于布料上的力有可能逼真地表现运动,这些力比如是重力、空气阻力、风力等等,以及与外部刚体碰撞相关的力。另外,通过简单地改变节点和域值,任何人都可能容易的制造出所期望的动画制作,因为整个动画制作通过只改变几个节点上的域值是可能的。另外,数据量与常规内插器动画制作相比较是很小的,因为通过只改变域值来制造所期望的动画制作是可能的。特别地,被认为是3D图形标准的VRML和MPEG-4标准没能支持布料动画制作。然而,本发明可以根据这些标准来表示节点。
虽然本发明已经参考其中的实施例而被描述,但是所属领域技术人员应当理解,在没有背离本发明的权利要求所定义的本发明范围的前提下可以在形式和细节上做出不同的改变。

Claims (20)

1.一种用于布料动画制作的数据结构,包括:
垂直粒面域,其定义沿着布料二维网孔垂直轴的粒面;
水平粒面域,其定义沿着布料二维网孔水平轴的粒面;
高度域,其定义布料二维网孔的高度;
宽度域,其定义布料二维网孔的宽度;和
物理特征节点,其定义用于计算作用于布料上的外力和内力、由这些力所引起的布料位移、和由布料同对象碰撞所引起的布料位移的物理特征值。
2.根据权利要求1的用于布料动画制作的数据结构,其中为了计算作用于布料上的外力,物理特征节点包括:
重力加速度域,其定义用于计算重力的重力加速度;
风速域,其定义用于计算空气阻力的风速;
缓冲系数域,其定义用于计算外部缓冲力的缓冲系数;和
空气阻力系数域,其定义用于计算空气阻力的阻力系数。
3.根据权利要求1的用于布料动画制作的数据结构,其中为了计算作用于布料上的内力,物理特征节点包括:
最大伸长域,其定义在对应于布料二维网孔的点阵中弹性链接聚集点的最大伸长;
平面阻力系数域,其定义链接点阵中每个聚集点与其右、左、上、下的邻近聚集点的弹性的阻力系数;
移动变形阻力系数域,其定义链接每个聚集点与对角邻近聚集点的弹性的阻力系数;和
扭转阻力系数域,其定义了链接每个聚集点与其右、左、上、下的第二个邻近聚集点的弹性的阻力系数。
4.根据权利要求1的用于布料动画制作的数据结构,其中,物理特征节点包括逆聚集域,其定义了点阵中每个聚集点的逆聚集,用于获得计算由于作用于布料上的力所引起的布料位移所用的加速度。
5.根据权利要求1的用于布料动画制作的数据结构,其中,物理特征节点包括时隙域,其定义用于计算布料位移的时隙。
6.根据权利要求1的用于布料动画制作的数据结构,其中,数据结构还包括固定边缘域,其定义了被固定的布料网孔的边缘。
7.根据权利要求1的用于布料动画制作的数据结构,其中,数据结构还包括用于计算由布料与对象碰撞所引起的布料位移和用于表示该对象。
8.根据权利要求7的用于布料动画制作的数据结构,其中,碰撞节点包括:
摩擦系数域,用于计算对象同布料相撞点的移动速率;
运动学节点,其定义同布料相撞的虚拟对象;和
可见形状节点,用于实际上表现同布料相撞的对象。
9.根据权利要求7的用于布料动画制作的数据结构,其中,运动学节点包括几何节点,几何节点至少是Box节点、Sphere节点和TruncatedCone节点中的一个。
10.一种3D图形数据渲染设备,包括:
一分析器,用于输出通过从具有权利要求1中描述的数据结构的3D图形数据中识别节点和分析域而获得的场景图;
一计算器,用于从场景图的节点和域来计算用于布料动画制作的物理量和用于输出包括所计算物理量的场景图;和
一转换器,用于把包括所计算物理量的场景图转换成一2D图像并且输出该2D图像。
11.根据权利要求10的3D图形数据渲染设备,其中,计算器包括:
布料识别单元,用于识别场景图中的布料节点;
布料网孔创建单元,用于根据节点和域值来创建布料网孔;
物理量计算单元,用于计算表现作用于布料上的内力和外力和由与该对象碰撞引起的布料位移的物理量;和
布料网孔变形单元,用于通过由施加物理量计算单元计算的布料位移到布料网孔而使布料结构变形,并且输出包括该物理量的场景图。
12.根据权利要求11的3D图形数据渲染设备,其中,计算器还包括:
碰撞对象识别单元,用于识别是否存在同布料相撞的对象;和
碰撞检测单元,用于确定是否布料同对象相撞;和
其中,物理量计算单元计算由于布料同对象相撞所引起的布料位移。
13.根据权利要求12的3D图形数据渲染设备,其中,碰撞检测单元检测是否布料同运动学节点所定义的虚拟对象相撞。
14.根据权利要求13的3D图形数据渲染设备,其中,当布料同运动学节点所定义的虚拟对象相撞时,碰撞检测单元检测碰撞点的位置。
15.一种3D图形数据渲染方法,包括:
(a)输出通过从具有权利要求1中描述的数据结构的3D图形数据中识别节点和分析域获得的场景图;
(b)从场景图的节点和域计算用于布料动画制作的物理量并且输出包括所计算物理量的场景图;和
(c)把包括所计算物理量的场景图转换成2D图像并且输出该2D图像。
16.根据权利要求15的3D图形数据渲染方法,其中,(b)包括:
(b1)识别在场景图中布料的节点;
(b2)根据节点和域值创建布料的网孔;
(b3)计算作用于布料上的外力和内力和由于外力和内力所引起的布料位移;和
(b4)通过把所计算的位移施加到布料网孔来使布料的网孔结构变形。
17.根据权利要求16的3D图形数据渲染方法,其中,(b)在(b3)之前还包括:
(b5)识别是否存在同布料相撞的对象;和
(b6)检测是否布料同该对象相撞,和
其中(b3)还包括计算由于碰撞所引起的布料位移。
18.根据权利要求17的3D图形数据渲染方法,其中,(b6)包括检测是否布料同运动学节点所定义的虚拟对象相撞。
19.根据权利要求18的3D图形数据渲染方法,其中(b6)还包括当布料同运动学节点所定义的虚拟对象相撞时,检测碰撞点的位置。
20.一计算机可读记录介质,其存储用于执行权利要求15方法的程序。
CN200510005521.7A 2004-02-26 2005-01-20 布料动画制作数据结构及渲染三维图形数据的设备和方法 Pending CN1661633A (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
KR20040012985 2004-02-26
KR12985/2004 2004-02-26
KR15607/2004 2004-03-08
KR1020040015607A KR100571838B1 (ko) 2004-02-26 2004-03-08 직물 조직 애니메이션 표현을 위한 데이터 구조의 정의방법, 및 이를 이용한 3차원 그래픽 데이터의 렌더링 장치 및 방법

Publications (1)

Publication Number Publication Date
CN1661633A true CN1661633A (zh) 2005-08-31

Family

ID=34752263

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200510005521.7A Pending CN1661633A (zh) 2004-02-26 2005-01-20 布料动画制作数据结构及渲染三维图形数据的设备和方法

Country Status (4)

Country Link
US (1) US20050197731A1 (zh)
EP (1) EP1569172A3 (zh)
JP (1) JP2005243034A (zh)
CN (1) CN1661633A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105862217A (zh) * 2016-05-17 2016-08-17 沙洲职业工学院 一种小提花织物的动态模拟方法

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080246765A1 (en) 2005-05-06 2008-10-09 Desmond Grenfell Method and apparatus for constraint-based texture generation
US7792593B2 (en) * 2006-11-17 2010-09-07 Siemens Aktiengesellschaft Method and system for patient-specific production of a cardiac electrode
US8140304B2 (en) * 2007-07-13 2012-03-20 Hyeong-Seok Ko Method of cloth simulation using linear stretch/shear model
JP5234809B2 (ja) * 2009-06-24 2013-07-10 任天堂株式会社 情報処理プログラムおよび情報処理装置
US10025099B2 (en) 2015-06-10 2018-07-17 Microsoft Technology Licensing, Llc Adjusted location hologram display
CN105631136B (zh) * 2015-12-29 2018-09-07 中国电建集团贵阳勘测设计研究院有限公司 一种考虑封闭框架剪切变形和刚性节点的内力计算方法
CN105653786B (zh) * 2015-12-29 2018-09-25 中国电建集团贵阳勘测设计研究院有限公司 一种考虑封闭框架剪切变形和刚性节点的内力计算方法
US11069116B2 (en) * 2018-02-21 2021-07-20 Autodesk, Inc. Hybrid structural-geometric technique for performing draping simulation of woven fabric composites
US12045941B1 (en) * 2020-05-29 2024-07-23 Apple Inc. Modeling object model vertices as joints based on temporally variable point clouds

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5777619A (en) * 1996-01-02 1998-07-07 Silicon Graphics, Inc. Method for simulating hair using particle emissions
US6310627B1 (en) * 1998-01-20 2001-10-30 Toyo Boseki Kabushiki Kaisha Method and system for generating a stereoscopic image of a garment
US6509899B1 (en) * 1999-03-01 2003-01-21 Lucas Digital Ltd. Time differencing for improved cloth animation
US6909431B1 (en) * 1999-03-01 2005-06-21 Lucas Digital Ltd. Position and shape control for cloth and soft body animation
US6532014B1 (en) * 2000-01-13 2003-03-11 Microsoft Corporation Cloth animation modeling
US6573897B1 (en) * 2000-02-09 2003-06-03 California Institute Of Technology Real-time, interactive animation of deformable two- and three-dimensional objects
AU2001278318A1 (en) * 2000-07-24 2002-02-05 Jean Nicholson Prudent Modeling human beings by symbol manipulation
WO2002054351A2 (en) * 2000-12-06 2002-07-11 Sun Microsystems, Inc. Using ancillary geometry for visibility determination
US20020126132A1 (en) * 2001-01-24 2002-09-12 Harry Karatassos Targeted force application in clothing simulations
US7363199B2 (en) * 2001-04-25 2008-04-22 Telekinesys Research Limited Method and apparatus for simulating soft object movement
US6961058B2 (en) * 2001-08-10 2005-11-01 Microsoft Corporation Macrostructure modeling with microstructure reflectance slices
GB0120039D0 (en) * 2001-08-16 2001-10-10 Univ London Method for dressing and animating dressed beings
US7619633B2 (en) * 2002-06-27 2009-11-17 Microsoft Corporation Intelligent caching data structure for immediate mode graphics
US7095423B2 (en) * 2002-07-19 2006-08-22 Evans & Sutherland Computer Corporation System and method for combining independent scene layers to form computer generated environments
KR100511228B1 (ko) * 2003-01-10 2005-08-31 최광진 직물의 움직음을 시뮬레이션하는 방법 및 이 방법을 실행하는 프로그램을 기록한 컴퓨터 판독가능한 기록매체
KR100500897B1 (ko) * 2003-09-03 2005-07-14 한국전자통신연구원 방향을 갖는 질점과 일반화된 스프링 모델을 이용한비정형 물체의 애니메이션 방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105862217A (zh) * 2016-05-17 2016-08-17 沙洲职业工学院 一种小提花织物的动态模拟方法

Also Published As

Publication number Publication date
EP1569172A3 (en) 2006-10-04
JP2005243034A (ja) 2005-09-08
US20050197731A1 (en) 2005-09-08
EP1569172A2 (en) 2005-08-31

Similar Documents

Publication Publication Date Title
CN1661633A (zh) 布料动画制作数据结构及渲染三维图形数据的设备和方法
CN1788282A (zh) 统计动态建模方法及设备
KR102114357B1 (ko) 풀링 타입에 대한 정보를 포함하는 테이블을 작성하기 위한 방법, 장치 및 이를 이용한 테스팅 방법, 테스팅 장치
Luo et al. Chopper: Partitioning models into 3D-printable parts
US9818217B2 (en) Data driven design and animation of animatronics
US12100501B2 (en) Object attribute inference method, storage medium and electronic device
Magnenat-Thalmann Modeling and simulating bodies and garments
CN1920886A (zh) 基于视频流的三维动态人脸表情建模方法
CN101046891A (zh) 纹理映射设备和方法
Firouzmanesh et al. Perceptually guided fast compression of 3-d motion capture data
CN1441340A (zh) 信息分析显示装置和信息分析显示程序
Sagardia et al. A new fast and robust collision detection and force computation algorithm applied to the physics engine bullet: Method, integration, and evaluation
CN107704799A (zh) 一种人体动作识别方法及设备、计算机可读存储介质
CN104331911A (zh) 基于改进二阶振荡粒子群优化算法的关键帧提取方法
CN110490803A (zh) 一种图像语义分割分块预测的拼接方法、设备和存储介质
Wong et al. Dynamic interaction between deformable surfaces and nonsmooth objects
US20230260214A1 (en) Object simulation
JP4115205B2 (ja) 3次元形状表示方法、3次元形状表示装置、該方法を実行するプログラム及び記録媒体
CN1628327A (zh) 自动三维建模系统和方法
CN1975779A (zh) 三维人体运动数据分割方法
JP5125859B2 (ja) 皮革形状データ生成装置、皮革形状データ生成方法及び皮革形状データ生成プログラム
CN110084845A (zh) 变形预测方法、装置及计算机可读存储介质
O'Brien Graphical modeling and animation of fracture
Choi et al. Estimating material properties of deformable objects by considering global object behavior in video streams
JP2001195606A (ja) 物体の荷重伝達変位を表示する方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication