新四季網

布料動畫製作數據結構及渲染三維圖形數據的設備和方法

2023-05-15 11:01:11

專利名稱:布料動畫製作數據結構及渲染三維圖形數據的設備和方法
技術領域:
本發明涉及三維圖形數據的渲染(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中所示由牛頓第二運動定律來決定。
miijxij=Fij]]>其中,mij表示點陣中聚集點(i,j)的聚集,xij表示聚集點的空間位置矢量,和Fij表示作用於聚集點上的淨力(net)矢量。
內部和外部力作用於每個聚集點。內力由鄰近聚集點之間的彈性連結產生。外力包括重力、空氣阻力、緩衝力等等。
現在闡述內力。
讓T(i,j)是一組聚集點(k,I)。聚集點(k,I)通過彈性被連結到聚集點(i,j)。在這種情況下,作用在聚集點(i,j)上的內力Fijint可以被計算如下[等式2]Fijint=(k,l)T(i,j)Kijkl(1-Lijkl|rkl-rij|)(rkl-rij)]]>其中,Kijkl表示連結聚集點(i,j)與聚集點(k,I)的彈性的剛性(彈簧常數),Lijkl表示平衡狀態中的彈性的長度,rij表示聚集點(i,j)的位置向量,和rkl表示聚集點(k,I)的位置矢量。
接下來,外力可以主要分為重力、緩衝力、空氣阻力和相對加速度。
重力Fijg由等式3定義。
Fijg=mijg]]>其中,mij是聚集點(i,j)的聚集,和g是重力矢量加速度。
外部緩衝力Fijd由等式4定義。

Fijd=-vij]]>其中,μ是緩衝係數,和vij=rij]]>是聚集點(i,j)的速度矢量。
空氣阻力Fija由等式5定義。
Fija=c(nij(uw-vij))nij]]>其中,c是阻力係數,nij是聚集點(i,j)的法向矢量,和uw是風速矢量。
由相對加速度引起的力Fijr由等式6定義。
Fijr=-mij(a0+rij+(rij)+2vij)]]>其中,a0是線性加速度矢量,ω和ε分別是布料的部分運動的坐標系中的角速度和角加速度矢量。
淨力Fij(t)通過相加內力和外力而被獲得如下[等式7]Fij(t)=Fijint+Fijg+Fijd+Fija+Fijr]]>為了計算聚集點的位移,使用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]aij(t)=1mFij(t)]]>接下來闡述布料與另一對象的碰撞。
假設布料同具有預定形狀的剛體相撞,比如球體、圓錐體、柱體或矩形。
在這時候,應該執行兩個步驟。為了確定碰撞是否實際上出現,第一步將檢測是否布料的某個聚集點位於碰撞對象。為了計算由於碰撞所引起的布料位移,第二步將檢測在布料的某個聚集點被投射的碰撞對象表面上的碰撞位置。
根據這類方法,布料聚集點的位移不用檢測穿透階段就可以被計算。
當布料聚集點的位置矢量yij位於碰撞對象上時,速度矢量vij被計算如下[等式11]vij=vt(1-kf|vn||vt|),|vt|kf|vn|0,|vt|kf|vn|]]>其中,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標準沒能支持布料動畫製作。然而,本發明可以根據這些標準來表示節點。
雖然本發明已經參考其中的實施例而被描述,但是所屬領域技術人員應當理解,在沒有背離本發明的權利要求所定義的本發明範圍的前提下可以在形式和細節上做出不同的改變。
權利要求
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方法的程序。
全文摘要
布料動畫製作的數據結構和通過使用該數據結構來反映3D圖形數據的設備和方法。數據結構包括垂直粒面域,沿布料的二維網孔垂直軸的粒面;水平粒面域,沿布料二維網孔的水平軸的粒面;高度域,布料二維網孔的高度;寬度域,布料二維網孔的寬度;和物理特徵節點,作用於布料上的外力和內力、由於這些力所引起的布料位移、布料位移的物理特徵值。3D圖形數據渲染設備包括分析器,用於輸出通過從具有用於布料動畫製作的數據結構的3D圖形數據中識別節點和分析域的場景圖;計算器,用於從場景圖的節點和域來計算用於布料動畫製作的物理量,和輸出包括所計算物理量的場景圖;和轉換器,用於把包括所計算物理量的場景圖轉換成2D圖像並且輸出該2D圖像。
文檔編號G06T13/20GK1661633SQ20051000552
公開日2005年8月31日 申請日期2005年1月20日 優先權日2004年2月26日
發明者安庭桓, 金道均, 禹相玉, 尼古萊·Y·格拉斯莫夫, 瑟蓋·U·貝爾耶夫 申請人:三星電子株式會社

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀