计算机图形中表示几何形状和几何结构的方法

文档序号:6415998阅读:473来源:国知局
专利名称:计算机图形中表示几何形状和几何结构的方法
技术领域
本发明涉及计算机图形中几何形状和几何结构的表示。本发明进一步涉及计算机系统中三维对象的模型化和这类对象的动画制作,更具体来说,涉及一种通过有序几何实体的图形结构来描述这类对象及其动画的方法。
此外,本发明还涉及通过以在图形中创建和处置模型或动画的更小片断的手段建立模型和动画来创建和编辑这类对象和动画。
正在形成的与因特网有关的动画几何的标准是所谓的虚拟现实模型建立语言(VRML)。在VRML中,三维对象的形状要么是图元(圆、柱、锥),要么被表示为多边形,即由许多以直线围成的平面小侧面来表示。为了描绘复杂的形状,获得有一定分辨率的视觉上流畅的效果,通常需要数量很多的多边形,而模型本身仍然还不平滑。可以这样来定义VRML中的复合三维对象一以一个根对象为开始,根对象上依附着几个分支(子)对象,子对象进而能有新的子对象,结果形成一个简单的树。尽管这种合成便于定义三维对象中子树的单独运动,VRML中的这类运动只能由简单的移动、转动和初始与终点位置之间的线性插补构成。本发明便于定义拓扑结构更为复杂的三维对象。本发明也能实现以各种复杂方式对这类三维对象及它们的单独部分的动画制作,取得平滑的轨迹和复杂的加速效果。
为了获得平滑的形状和动作以及它们的有效表示,本发明最佳实施例所根据的是样条(spline)曲线和曲面(其中的B-样条函数和非统一有理B-样条函数(NURBS-Non Uniform Rational B-splines)是特定的变式)以及三角测量和代数几何。如分段多项式这样的样条函数(splines)不包含在VRML中,但是一般被用在有用户定义的平滑性的高级CAD/CAM应用中。以前在较受限制的环境中进行过用样条函数对分层的形状的模型化,参看Barghiel、Crisstin、Richard Bartel和David Forsey的《(粘贴样条表面》(Pasting Spline Surface)一文(收于1994年6月16~21在挪威Uivik召开的一次会议的论文集“曲线和曲面的数学方法”中,编辑M.Daehlen、T.Lyche、L.L.Schumaker,第31~40页,由位于美国田纳西州Nashiville的Vanderbilt大学出版社出版)。
本发明目的是提供一种表示三维(3D)对象和这类对象的动画、同时显著降低对这些表示的存储要求的方法。这特别适用于自由形式的三维对象。由于降低了存储和传输这类对象和动画所需的数据量,本发明便于这类对象和动画在若干计算机、若干用户等之间的共享。本发明通过把三维对象划分成能单独描述和处理的若干独立实体,将简化创建这类对象和动画所需的工作。可以以许多方式对这些不同实体进行组合,可以定义实体之间的各种关系,由此使得可能以各种方式将各成分组合成单元,并在模型化和动画制作工作的不同阶段,以最方便为准则,选择按单元来处理一个或多个成分。
为了实现本发明的上述目的,提出了一种对三维对象和它们的动画动作的进行模型化的方法。该方法采用许多三维自由形式的对象和它们的动画的分层的、复制和多分辨率(multiresolution)属性。该表示这类对象和它们的动画的方法,可表述为“几何图形联结的几何图形”(Geometry Anchored Geometry),自此以后称为GAGs,生成的表示被称为GAGs模型。
在GAGs模型中,三维对象是以诸如点、曲线和曲面的几何实体的集合的形式来描述的。这些几何实体与拓扑节点相连,其中拓扑节点描述某三维对象的某个成分。拓扑节点互相联结起来,形成一个带覆盖层(overlayers)的基底层(underlayers)的有向图结构。任何拓扑节点都可以与一个或多个底基层联结并有任意数量的覆盖层与之联结。拓扑节点的联结(anchoring)是这样定义的,即覆盖层的几何图形依赖于其底基层,因此覆盖层几何将是相对于底基层拓扑节点的几何被定义的,这样,对底基层的几何的改变也将导致所有相联结的覆盖层的几何的更新。额外的几何实体被连接到联结线(anchor)。所以,关于模型的拓扑信息驻留在拓扑节点和联结线中,而几何信息则驻留在分别与拓扑节点和联结线相连的几何实体中。
当模型是动画时,动作信息将以时间相关信息的形式在几何实体中的找到。涉及拓扑节点的几何实体中的动作描述将描述构成几何对象本身的点、曲线或曲面的几何描述中的时间相关的变化,而涉及联结线的几何实体中的动作描述将描述覆盖层与底基层之间的几何关系的时间相关的动作。
转换定义局部实体与全局模型出现(occurences)之间的关系一例如,就时间而言,定义某时间相关的动作的局部时间与全局时间之间关系的转换函数;就拓扑节点的几何而言,定义拓扑节点运动的局部坐标与拓扑节点作为其一部分的整个情景的全局坐标之间关系的转换矩阵。
任何拓扑节点、联结线和/或几何实体的集合都能在定义拓扑节点、联结线和/或几何实体的新的集合时被用作原型。在这种原型的基础上定义的拓扑节点、联结线和/或几何实体的集合能取代掉该原型中的任何信息,并且/或者定义一个描述该原型与这些拓扑节点、联结线和几何实体之间的某种几何关系的变换。


图1表示一个概括性形式的GAGs结构。
图2表示一例动画对象。
图3表示图2所示动画对象的局部的GAGs模型。
按照本发明的方法最好用来创建三维(3D)对象的表示和这类对象的动画。这种表示将被称为GAGs模型。GAGs模型可以在不同的环境中使用。GAGs模型一般将在计算机系统中使用,要么作为单一系统的一部分,要么分布在若干合作的计算机系统上。GAGs模型也被作为一个或多个文件存储,这类文件可以在诸如因特网的计算机网络上发送。GAGs模型将是三维自由形式几何模型和它们的包括非线性运动的动画的有效表示。采用GAGs模型的属性的文件格式因而将是诸如VRML的以前的文件格式的一种较好的替代。
参看图1,GAGs模型由联结到其它拓扑节点的拓扑节点组成。每个拓扑节点和联结线与一个或多个几何实体相关联。拓扑节点和联结线定义模型的拓扑,而几何实体则构成模型的几何成分(part)。
在本发明范围内,有可能以任意种方式实现这种结构。在给定的实现中,不必将模型的不同单元一拓扑节点、联结线和几何实体一当作独立的单元看待。如果GAGs模型是用面向对象的语言编程的,可以将各单元定义为独立的对象,而且可以定义任意数量的对象,也可以将几个定义组合成一个对象。例如,一个对象可包含一个拓扑节点及其联结线和任何相关的几何实体。
模型的拓扑是由拓扑节点和联结线的结构定义的。这个结构描述几何实体之间的关系。拓扑节点代表三维对象的成分。联结线则描述三维对象各成分是如何彼此相关的。
GAGs中区分两种不同的拓扑节点,即基点(bases)和特征点(features)。对基点的定义是全局的,独立的,而特征点则是与基础(underlying)拓扑节点联结的,是相对于基础拓扑节点定义的。任何特征点都可联结到一个或多个基础拓扑节点。拓扑节点也可能有任意数量的覆盖(overlaying)拓扑节点与其联结。这样,拓扑节点和联结线的结构就形成一个有向图。图中层次的数目反映所表示的三维对象的几何的复杂程度,其中,基点一般是个全局元素(global element),而细节则作为特征点被置于图的上部。被某给定拓扑节点联结到的拓扑节点或节点(包括其几何实体)将被称为这个拓扑节点的底基层,而联结到底基层的拓扑节点将被称为它的覆盖层。
两个拓扑节点之间的联结是由一个或多个联结线完成的。每个联结线将覆盖拓扑节点的某个成分连接到底基层。我们把该成分称为该拓扑节点上的联结线的影响区域(the area of influence)。可能有若干联结线有重叠的影响区域。一个例子是两指之间的一个橡皮弦结(rubber string knit)。两个结点是联结线,影响区域在整个线上,但是它们之间的权重则视与结点的距离而定。
每个联结线包括一个或多个联结点(anchor points),联结点有自己的影响区域。这些区域联结线影响区域的子成分,也可以重叠。
联结可以静态地或动态地进行。静态联结不相对于基础拓扑节点移动,而动态联结含有运动信息,以便相对于底基层移动覆盖层。
拓扑节点和联结线描绘模型的拓扑,而几何实体则描绘几何图形。几何实体可以与拓扑节点相连,也可以与联结线相连。与拓扑节点相连的几何实体一般描绘被建立模型的三维对象的某个成分的形状。与联结线相连的几何实体一般描绘联结线是如何将覆盖拓扑节点与基础拓扑节点联结的。这类图形一般包括联结的各点和这些点将跟随而动的轨迹(tracks)。几何实体也被用来描述这些几何图形的时间相关性。
几何实体有不同的类型,一般是点、曲线和面。GAGs模型与如何显示这类几何实体是无关的。然而,用样条函数来显示自由形式的三维对象能给出紧凑的表示,几何图形的平滑性不取决于视点到几何对象的距离。
几何实体也可被用来定义定义本地实体与全局模型出现之间(例如就时间而言)的关系的转换函数。转换函数将把运动的本地时间转换到动画的全局时间。这些转换函数一般是一维曲线。函数可以是线性的,但是也可能有一例如描绘运动中加速度的一其它形状。
局部几何图形与全局几何图形之间的转换由转换矩阵表示,转换矩阵一般是4×4矩阵。
运动能以依时间而变的拓扑节点、联结线和几何实体来表示。联结线中的运动一般描绘底基层和覆盖层的几何关系的与时间有关的运动。例如,联结线可以描绘覆盖层是如何沿着底基层上的轨迹运动的。运动也能被表示为与某拓扑节点相关联的与时间有关的几何实体。一个简单的例子是大小随时间变化的拓扑节点。
如果要改动一个拓扑节点,这一般也将影响其它节点。由于三维对象是由有若干对象的图形来表示的,多数对象都有若干覆盖层。如上所述,这些覆盖层都是相对于它们的基础拓扑节点而定义的特征点。联结线描述了覆盖拓扑节点是如何依赖底基拓扑节点的。因此,对给定拓扑节点的改动会导致任何或所有覆盖拓扑节点中的相应改动。由于这个原因,只改动某些基础拓扑节点,就能制作有些形式的有许多成分的三维对象的动画-覆盖拓扑节点将会随底基层的变化而变化。
动画也能用变化联结和几何实体的拓扑节点来描绘一就是说,联结线或几何实体不变,但是可以打开或关闭其对拓扑对象或联结线的影响。为此,可以将时间间隔与描绘动画序列各成分的每个联结线、拓扑节点和几何实体相关联(其中联结线、拓扑节点或几何实体是活动的)。或者也可以定义表示联结线、拓扑节点或几何实体是否是活动的条件。
基点只有通过让与其相关联的几何实体是时间有关的才能是活动的(animated)。
特征点可以以下列一个或多个方式而运动1.与该拓扑节点关联的几何实体是时间有关的并随时间变化。
2.某拓扑节点的一个底基层的几何实体随时间变化。
3.该拓扑节点的一个或多个联结线或者任何依赖这种联结线的几何实体是时间有关的并随时间变化。
4.时间推移到或推移出与该拓扑节点本身,该拓扑节点关联的一个或多个联结线或该拓扑节点关联的一个或多个几何实体相关联的时间间隔。
5.满足定义的条件,诸如三维对象的其它成分的出现、缺少或接近,或来自用户界面的输入,或从GAGs结构的外部源发生的任何其它事件。
GAGs模型一般将含有在此时所定义所有拓扑节点和联结线,但是所表现的GAGs模型的成分,将随动画时间的变化-推移到或推移出与不同的拓扑节点、联结线和几何实体相关联的时间间隔-而变化,并因与各拓扑节点、联结线和几何实体相关联的条件是否满足而变化。
在定义新的拓扑节点、联结线和几何实体时,能用任何拓扑节点、联结线和几何实体作为原型。此外,原型也可以由任意数量的拓扑节点、联结线和几何实体的集合组成。根据原型定义的拓扑节点、联结线或几何实体,能取代掉原型中的任何信息和/或定义一个描述原型与拓扑节点、联结线或几何实体之间关系的变换。对于根据更复杂的原型定义的几何对象和/或动画的成分来说,也是如此。
图2表示一个典型的动画动物-四目巨刺怪(the ghost slug Spike)。它有从后背突出来的粗刺,四只眼睛-两只直接固定在身体上,两只固定在触角上。眼睛中有一个或多个眼球和一个或多个晶状体。此外,四目巨刺怪还有一个方便的套圈,上有一个套环能安装锁链。通过对该GAGs模型的分析,可以看出,该三维对象的许多成分都十分相似。四目巨刺怪背上的所有粗刺都是该GAGs模型的全局图形结构中的独立的拓扑节点。然而,它们都是通过参照作为原型的同一个拓扑节点被定义的,它们被不同程度地缩放、倾斜后安置在四目巨刺怪背上的不同位置。或者,也可以通过参照一个原型集合实体来定义描述拓扑节点的几何实体。
也将注意到,眼睛与触角对是对称地分布在身体两侧的,可以将一对看作就是另一对的镜像。这种对称是十分平常的情形,不是特意为本例生造出来的。
此外也可以注意到,四目巨刺怪的有些部分的形状依赖于其它部分的形状。例如,如果身体移动,所有形状都跟着动。还有,如果触角摆动,上面固定的眼睛也将呈现类似的摆动。
图3表示这些关系是如何由GAGs模型创建一个与几何实体关联的拓扑节点和联结线的图来建立模型的。
地板是基础拓扑节点,四目巨刺怪的身体对地板来说是覆盖层。地板与身体之间的联结线是个动态联结线,它定义身体将要随动画时间的推移而经历的移动。由于粗刺是由静态联结线固定到身体上的,身体的运动也将导致粗刺移动相同的量,因此总是附在四目巨刺怪背上相同的点上。
如上所述,由于粗刺的形状都是相同的,所以用一个粗刺作为原型,其它粗刺拓扑节点(或它们关联的几何实体)则引用粗刺原型并增加或覆盖关于粗刺在身体上的位置及其指向的信息。根据联结方式的选择,粗刺可以总是指向相对于身体来说的相同方向,也可以独立于身体的动作而改变方向。这一般将由联结线中的时间相关性来建立模型。
本例中的触角是通过将面与脊柱联结而建立的。脊柱曲线定义触角的弯曲,与身体联结。脊柱的弯曲可以随时间而变化。这是通过让代表脊柱的拓扑节点参照一个时间相关的样条的几何实体而建立模型的。有几种让运动的触角的速度改变的方法。要么可以直接在时间相关的样条上建立模型。另一种替代方法是让样条中的时间推移多少有些恒定,但是将另外一个几何实体与该样条拓扑节点相关联。这个新拓扑节点将这样定义一个从局部时间到全局时间的转换,使得脊柱运动的速度随着时间变化。
如果要把四目巨刺怪的一个触角作为另一个触角的镜像,这是能用GAGs表示的,方法是让一个触角作为原型,在其基础上定义另一个触角。另一个触角的额外信息只是一个描述这种镜面对称的函数。在这种情况下,原型将是一个由若干拓扑节点、联结线和几何实体组成的图。
权利要求
1.表示计算机图形中的几何形状和几何结构的方法,包含的步骤为将几何对象描述为诸如点、曲线和曲面的几何实体的集合;将每个几何实体连接到至少一个拓扑节点,由此定义一个与该拓扑节点相关联的几何形状;将各拓扑节点以联结线的方式互相联结,使得它们形成一个由底基层和覆盖层组成的有向图结构,其中每个拓扑节点都可以被联结到任意数量的底基层并有任意数量的覆盖层与之联结,而联结的方式要使得覆盖层的几何图形依赖于其底基层;将联结线的几何属性表述为额外的几何实体;将这些额外的几何实体每个连接到至少一个联结线。
2.根据权利要求1的方法,其中,一个或多个联结点与每个覆盖层至底基层的联结线相关。
3.根据权利要求1的方法,其中,与任何拓扑节点相连的几何实体可以是曲线、曲面或点,并且,拓扑节点不管与什么种类的几何实体相连,都能联结到其它拓扑节点,这样就允许曲面到曲面、曲面到曲线、曲线到曲面以及曲线到曲线的联结。
4.根据权利要求1的方法,其中,至少有些几何实体是以样条函数的形式描述的。
5.根据权利要求1的方法,其中,至少有些几何实体是以非统一有理B-样条函数(NURBS)的形式描述的。
6.根据权利要求1的方法,其中,至少有些几何实体是以B-样条函数的形式描述的。
7.根据权利要求1的方法,其中,至少有些几何实体用多边形描述的。
8.根据权利要求1的方法,其中,至少有些几何实体用代数方程描述的。
9.根据权利要求1的方法,其中,包括几何实体在内的拓扑节点图形结构的任何子成分,被用作任意数量的出现的一个原型,使得每个这种出现都通过用对该模型的引用来描述。
10.根据权利要求9的方法,其中,任何引用某个原型的出现都可以覆盖该原型的一个或多个属性。
11.根据权利要求9的方法,其中,任何引用某个原型的出现也包含一个定义由原型向引用实例的变换的变换矩阵。
12.根据权利要求1的方法,其中,能以下列任何方式改变给定拓扑节点的几何形状-通过改变与该拓扑节点相连的几何实体;-通过改变该拓扑节点与其基础拓扑节点之间的联结线;-通过改变任何该拓扑节点与其基础拓扑节点之间的联结线的联结点;-通过以上述任何方式改变基础拓扑节点。
13.表示计算机图形中的时间相关的几何形状和几何结构的方法,包含的步骤为将几何对象描述为诸如点、曲线和曲面的几何实体的集合;将每个几何实体连接到至少一个拓扑节点,由此定义一个与该拓扑节点相关联的几何形状;将各拓扑节点以联结线的方式互相联结,使得它们形成一个由底基层和覆盖层组成的有向图结构,其中每个拓扑节点都可以被联结到任意数量的底基层并有任意数量的覆盖层与之联结,而联结的方式要使得覆盖层的几何图形依赖于其底基层;将联结线的几何属性表述为额外的几何实体;将这些额外的几何实体每个连接到至少一个联结线;其中任何描述几何实体、拓扑节点及联结线的信息都可以是时间相关的,并且覆盖层对底基层的相关性将导致任何与时间相关的底基层联结的覆盖层的时间相关性。
14.根据权利要求13的方法,其中,一个或多个联结点与从覆盖层到底基层的每个联结有相关联,联结点彼此相对位置的改变或相对于基础拓扑节点的几何的位置改变将按照联结线的定义中的规则影响覆盖层的几何形状。
15.根据权利要求13的方法,其中,可以为任何拓扑节点、联结线或几何实体定义一个时间间隔,该时间间隔定义拓扑节点、联结线或几何实体何时是活动的。
16.根据权利要求13的方法,其中,可以为任何拓扑节点、联结线或几何实体定义一个条件,该条件定义拓扑节点、联结线或几何实体何时是否应当是活动的。
17.根据权利要求16的方法,其中的条件可以是出现、缺少或接近三维对象的其它成分,或出现来自用户界面的有定义的输入或者从几何表示的外部源发生的任何其它有定义的事件。
18.根据权利要求13的方法,其中,与任何拓扑节点相连的几何实体可以是曲线、曲面或点,并且,拓扑节点不管与什么种类的几何实体相连,都能联结到其它拓扑节点,这样就允许曲面到曲面、曲面到曲线、曲线到曲面以及曲线到曲线的联结。
19.根据权利要求13的方法,其中,至少有些几何实体是以样条函数的形式描述的。
20.根据权利要求13的方法,其中,至少有些几何实体是以非统一有理B-样条函数(NURBS)的形式描述的。
21.根据权利要求13的方法,其中,至少有些几何实体是以B-样条函数的形式描述的。
22.根据权利要求13的方法,其中,至少有些几何实体用多边形描述的。
23.根据权利要求13的方法,其中,至少有些几何实体用代数方程描述的。
24.根据权利要求13的方法,其中,包括几何实体在内的拓扑节点图形结构的任何子成分,被用作任意数量的出现的一个原型,使得每个这种出现都通过用对该模型的引用来描述。
25.根据权利要求24的方法,其中,任何引用某个原型的出现都可以覆盖该原型的一个或多个属性。
26.根据权利要求24的方法,其中,任何引用某个原型的出现也包含一个定义由原型向引用实例的变换的变换矩阵。
全文摘要
本发明提出一种表示计算机图形中时间相关的几何形状和几何结构的方法。更具体地说,本发明提出一种通过有有序几何对象的数据结构来描述这类对象及其运动的方法。这些对象是以在图形结构中互相联结的点、曲线和曲面的任意组合的形式来描述的。可以采用各种联结方法,使本方法高度灵活。动画是以在对表示的任何成分的描述中的时间相关性的形式来描述的,包括对某时间间隔内点从起始位置移动到终点位置所沿的曲线的定义。如果模型中数据结构的成分重复,它们一般将只被描述一次。其它的出现将通过采用对第一例出现的引用和变换来描述。
文档编号G06T15/70GK1290382SQ98813835
公开日2001年4月4日 申请日期1998年12月29日 优先权日1997年12月30日
发明者T·多肯, J·卡萨, E·夸克, E·诺尔德哈根 申请人:移动媒体有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1