一種“質(zhì)點(diǎn)-彈簧”系統(tǒng)驅(qū)動(dòng)的點(diǎn)集模型動(dòng)畫(huà)自動(dòng)生成方法
【專(zhuān)利摘要】本發(fā)明公開(kāi)一種由“質(zhì)點(diǎn)-彈簧”系統(tǒng)驅(qū)動(dòng)的點(diǎn)集模型動(dòng)畫(huà)自動(dòng)生成方法。方法首先讀取點(diǎn)集模型數(shù)據(jù),將其縮放為指定大小,并計(jì)算縮放后模型的坐標(biāo)軸向包圍盒;然后通過(guò)剖分包圍盒建立“質(zhì)點(diǎn)-彈簧”系統(tǒng),同時(shí)確定彈簧格網(wǎng)與點(diǎn)集模型中各點(diǎn)的關(guān)聯(lián)關(guān)系;根據(jù)設(shè)定的初始條件和運(yùn)動(dòng)基本定律,分析“質(zhì)點(diǎn)-彈簧”系統(tǒng)的受力情況,由彈簧系統(tǒng)驅(qū)動(dòng)點(diǎn)集中各點(diǎn)的位置更新。在點(diǎn)集變化過(guò)程中,由當(dāng)前時(shí)刻點(diǎn)集模型構(gòu)建點(diǎn)集曲面,并將點(diǎn)集曲面進(jìn)行網(wǎng)格化處理,再通過(guò)繪制網(wǎng)格模型生成動(dòng)畫(huà)的當(dāng)前幀;動(dòng)畫(huà)的后續(xù)幀由動(dòng)力學(xué)方程所確定的下一時(shí)刻的彈簧系統(tǒng)狀態(tài)決定。本方法只需設(shè)定系統(tǒng)的初始狀態(tài)便可自動(dòng)地生成點(diǎn)集模型運(yùn)動(dòng)動(dòng)畫(huà)。
【專(zhuān)利說(shuō)明】一種"質(zhì)點(diǎn)-彈簧"系統(tǒng)驅(qū)動(dòng)的點(diǎn)集模型動(dòng)畫(huà)自動(dòng)生成方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明公開(kāi)一種"質(zhì)點(diǎn)-彈簧"系統(tǒng)驅(qū)動(dòng)的點(diǎn)集模型動(dòng)畫(huà)自動(dòng)生成方法,該方法屬 于計(jì)算機(jī)動(dòng)畫(huà)【技術(shù)領(lǐng)域】,尤其涉及點(diǎn)集動(dòng)畫(huà)自動(dòng)生成的技術(shù)方法。
【背景技術(shù)】
[0002] 在計(jì)算機(jī)動(dòng)畫(huà)領(lǐng)域中,生成動(dòng)畫(huà)的方法主要有以下三種:逐幀法、關(guān)鍵幀法和骨骼 動(dòng)畫(huà)。幀是指動(dòng)畫(huà)中最小單位的單幅影像畫(huà)面,相當(dāng)于電影膠片上的每一格鏡頭,在動(dòng)畫(huà)軟 件的時(shí)間軸上巾貞表現(xiàn)為一格。
[0003] 逐幀法就是對(duì)每一幀的內(nèi)容進(jìn)行逐個(gè)編輯和繪制,然后按照時(shí)間順序依次播放形 成動(dòng)畫(huà)。該類(lèi)方法主要用于傳統(tǒng)動(dòng)畫(huà)的制作。其優(yōu)點(diǎn)是:仿真性好,自由度高,能模擬各種 畫(huà)面變化;不足之處在于:動(dòng)畫(huà)設(shè)計(jì)工作非常繁瑣,勞動(dòng)強(qiáng)度巨大。
[0004] 關(guān)鍵幀法是指在動(dòng)畫(huà)的制作過(guò)程中,設(shè)計(jì)人員只負(fù)責(zé)設(shè)計(jì)動(dòng)畫(huà)的關(guān)鍵性畫(huà)面,由 計(jì)算機(jī)通過(guò)插值計(jì)算生成中間的過(guò)渡幀,進(jìn)而完成動(dòng)畫(huà)的制作。相對(duì)于逐幀法,該類(lèi)方法顯 著地減少了動(dòng)畫(huà)設(shè)計(jì)人員的工作量,降低了動(dòng)畫(huà)制作的成本;其不足之處是:在處理較為 復(fù)雜的運(yùn)動(dòng)過(guò)程時(shí),仍需要繪制大量的關(guān)鍵幀才能保證動(dòng)畫(huà)畫(huà)面的真實(shí)感效果;若部分關(guān) 鍵幀設(shè)置不當(dāng),還會(huì)在動(dòng)畫(huà)中產(chǎn)生動(dòng)作失真等現(xiàn)象。
[0005] 骨骼動(dòng)畫(huà)(參見(jiàn):戚軍,專(zhuān)利"一種骨骼動(dòng)畫(huà)的實(shí)現(xiàn)方法",申請(qǐng)?zhí)枺?CN201110362515. 2)技術(shù)中,動(dòng)畫(huà)模型由兩個(gè)部分來(lái)表示:一部分是用層次結(jié)構(gòu)表示的一 系列骨骼(即骨架),每一個(gè)骨骼都包含了其自身的動(dòng)畫(huà)數(shù)據(jù);另一部分是蒙在骨架上的皮 膚(即網(wǎng)格模型),用于提供動(dòng)畫(huà)繪制所需要的幾何模型和紋理材質(zhì)信息等。通過(guò)對(duì)骨架進(jìn) 行動(dòng)畫(huà)模擬,再利用骨骼控制皮膚就生成了骨骼動(dòng)畫(huà)效果。相對(duì)于關(guān)鍵幀動(dòng)畫(huà),該方法在 生成動(dòng)畫(huà)時(shí),只需存儲(chǔ)每一幀的骨骼(骨骼數(shù)目相對(duì)較少)數(shù)據(jù),因而占用空間較小,并且 多個(gè)皮膚可以共享相同骨骼以生成不同的動(dòng)畫(huà);不足之處在于:骨骼動(dòng)畫(huà)渲染過(guò)程中耗時(shí) 較多,骨髓與皮膚之間的運(yùn)動(dòng)關(guān)系不易把握。
【發(fā)明內(nèi)容】
[0006] 本發(fā)明針對(duì)現(xiàn)有技術(shù)的不足,提出一種"質(zhì)點(diǎn)-彈簧"系統(tǒng)驅(qū)動(dòng)的點(diǎn)集模型動(dòng)畫(huà)自 動(dòng)生成方法。該方法基于點(diǎn)集模型和物理運(yùn)動(dòng)規(guī)律,通過(guò)設(shè)定動(dòng)畫(huà)運(yùn)動(dòng)的初始條件,快速、 自動(dòng)地生成符合自然物理規(guī)律的模型運(yùn)動(dòng)及曲面變形效果。相對(duì)于關(guān)鍵幀動(dòng)畫(huà),本方法無(wú) 需繪制關(guān)鍵幀,從而減少了設(shè)計(jì)人員的工作量,節(jié)約了動(dòng)畫(huà)制作的成本;相對(duì)于骨骼動(dòng)畫(huà), 本方法無(wú)需定義骨骼的運(yùn)動(dòng)軌跡,渲染刷新速度快,便于動(dòng)畫(huà)設(shè)計(jì)人員簡(jiǎn)單、快捷地進(jìn)行動(dòng) 畫(huà)制作。
[0007] 本發(fā)明采用以下技術(shù)方案:
[0008] -種"質(zhì)點(diǎn)-彈簧"系統(tǒng)驅(qū)動(dòng)的點(diǎn)集模型動(dòng)畫(huà)自動(dòng)生成方法,其步驟是:
[0009] a.點(diǎn)集模型預(yù)處理:讀取點(diǎn)集模型數(shù)據(jù),該數(shù)據(jù)是確定坐標(biāo)系下一系列三維空間 頂點(diǎn)的坐標(biāo);分別選取點(diǎn)集模型中頂點(diǎn)坐標(biāo)在X、y、Z方向上的最大值和最小值,并根據(jù)這 些值構(gòu)建各棱均平行于坐標(biāo)軸的軸向包圍盒B1 ;對(duì)包圍盒B1和包圍盒中的點(diǎn)集等比例縮 放,使其最長(zhǎng)棱邊為L(zhǎng),形成規(guī)格化點(diǎn)集模型和包圍盒B2 ;將規(guī)格化模型及其包圍盒B2平移 至坐標(biāo)系空間中的易處理位置;
[0010] b.建立"質(zhì)點(diǎn)-彈簧"系統(tǒng):將包圍盒B2中平行于X、y、z軸的各條棱剖分成Np N2、N 3份,稱(chēng)每份的長(zhǎng)度為段元,形成大小為N1XN2XN3的空間柵格結(jié)構(gòu),其將包圍盒B 2剖分 成一系列小的柵格單元;選取包圍盒B2的8個(gè)頂點(diǎn)中坐標(biāo)分量最小者記為P,計(jì)算其它柵 格頂點(diǎn)相對(duì)于點(diǎn)P偏離的段元數(shù)目,得到各柵格頂點(diǎn)坐標(biāo);在柵格頂點(diǎn)處放置質(zhì)量為M的質(zhì) 點(diǎn),將每一質(zhì)點(diǎn)與其相鄰或間隔相鄰質(zhì)點(diǎn)采用剛度系數(shù)為K的彈簧相連,得到"質(zhì)點(diǎn)-彈簧" 系統(tǒng);
[0011] C.關(guān)聯(lián)模型頂點(diǎn)與彈簧格網(wǎng):建立點(diǎn)集模型中每個(gè)點(diǎn)V e p與其所在的"質(zhì)點(diǎn)-彈 簧"系統(tǒng)中確定空間柵格單元之間的關(guān)聯(lián)關(guān)系:先確定點(diǎn)集模型中任一點(diǎn)所在柵格的索引 號(hào)和點(diǎn)V在柵格中所處的局部相對(duì)位置;根據(jù)模型點(diǎn)V所在柵格相對(duì)于點(diǎn)P偏離的段元數(shù) 目,計(jì)算柵格的索引號(hào);選取點(diǎn)V所在柵格中的一點(diǎn)作為基點(diǎn)b,建立點(diǎn)V和基點(diǎn)b的相對(duì) 關(guān)系;
[0012] d.施加作用力于彈簧系統(tǒng):設(shè)置質(zhì)點(diǎn)運(yùn)動(dòng)初始狀態(tài),如彈簧的質(zhì)量M、初始的速度 V等參數(shù),對(duì)"質(zhì)點(diǎn)-彈簧"系統(tǒng)中的部分或所有質(zhì)點(diǎn)施加作用力,改變其運(yùn)動(dòng)狀態(tài);
[0013] e.分析彈簧系統(tǒng)的受力情況,并更新點(diǎn)集坐標(biāo):檢測(cè)"質(zhì)點(diǎn)-彈簧"系統(tǒng)中的每個(gè) 質(zhì)點(diǎn),根據(jù)彈簧連接關(guān)系分析質(zhì)點(diǎn)受力情況:計(jì)算其受到彈簧內(nèi)部力、阻尼、重力等的合力; 然后根據(jù)牛頓定律求解每一質(zhì)點(diǎn)的加速度、速度、位移量等信息以及其在下一時(shí)刻的位置 坐標(biāo);
[0014] f.構(gòu)建點(diǎn)集模型相應(yīng)的點(diǎn)集曲面:根據(jù)當(dāng)前點(diǎn)集模型中各點(diǎn)的空間位置,運(yùn)用曲 面擬合方法構(gòu)造當(dāng)前點(diǎn)集模型的隱式曲面表示;
[0015] g.網(wǎng)格化點(diǎn)集曲面:將隱式曲面所在的空間剖分為小立方體(Cubes)的集合,采 用基于空間剖分的Marching Cubes方法,對(duì)隱式曲面在各小立方體內(nèi)的部分進(jìn)行三角化處 理,并將所有小立方體內(nèi)的三角化結(jié)果集合起來(lái),將隱式曲面轉(zhuǎn)化為三角網(wǎng)格模型;
[0016] h.動(dòng)畫(huà)生成:將生成的網(wǎng)格模型渲染成動(dòng)畫(huà)的當(dāng)前幀,而由動(dòng)力學(xué)方程所確定的 下一時(shí)刻的彈簧系統(tǒng)狀態(tài)決定動(dòng)畫(huà)的下一幀,反復(fù)迭代(即回到第e步,迭代分析彈簧系統(tǒng) 的受力情況、更新點(diǎn)集坐標(biāo)、重建網(wǎng)格模型),直到生成所需的動(dòng)畫(huà)幀系列為止。這一系列的 連續(xù)幀實(shí)現(xiàn)了動(dòng)畫(huà)的自動(dòng)生成。
[0017] 本發(fā)明方法相對(duì)于現(xiàn)有技術(shù),具有如下優(yōu)點(diǎn):
[0018] (1)同時(shí)適用于2D、3D動(dòng)畫(huà)領(lǐng)域,可用于各種基于物理規(guī)律動(dòng)畫(huà)的生成;
[0019] (2)只須給定初始狀態(tài),后繼的物體運(yùn)動(dòng)狀態(tài)由"質(zhì)點(diǎn)-彈簧"系統(tǒng)自動(dòng)迭代產(chǎn)生, 無(wú)需考慮復(fù)雜的中間環(huán)節(jié),極大地簡(jiǎn)化了設(shè)計(jì)人員的工作量;
[0020] (3)根據(jù)參數(shù)設(shè)定質(zhì)點(diǎn)的質(zhì)量、彈簧的勁度系數(shù)、阻尼、重力加速度等,通過(guò)不同的 組合方式可產(chǎn)生不同的動(dòng)畫(huà)效果。
【專(zhuān)利附圖】
【附圖說(shuō)明】
[0021] 圖1是本發(fā)明方法的流程圖及相關(guān)數(shù)據(jù)的變換情況;
[0022] 圖2是縮放前后點(diǎn)集模型的包圍盒示例:其中(a)是縮放前的包圍盒,(b)是縮放 后的包圍盒;
[0023] 圖3是柵格化后的包圍盒示例(取N1 = 4, N2 = 3, N3 = 2);
[0024] 圖4是柵格頂點(diǎn)偏離點(diǎn)p段元數(shù)目示意圖;
[0025] 圖5是2D條件下"質(zhì)點(diǎn)-彈簧"系統(tǒng)的實(shí)例:(a)是"質(zhì)點(diǎn)-彈簧"系統(tǒng)總結(jié)構(gòu), (b)是結(jié)構(gòu)彈簧,(c)是剪切彈簧,(d)是彎曲彈簧;
[0026] 圖6是模型點(diǎn)在柵格中相對(duì)于基點(diǎn)所處位置的示意圖;
[0027] 圖7為隱式曲面在一個(gè)小立方體內(nèi)的部分可以用三角形逼近的示意圖;
[0028] 圖8為小立方體頂點(diǎn)不同符號(hào)配置的15種簡(jiǎn)化情況。
【具體實(shí)施方式】
[0029] 下面結(jié)合附圖和實(shí)施例,對(duì)本發(fā)明做詳細(xì)說(shuō)明。
[0030] 如圖1所示,一種"質(zhì)點(diǎn)-彈簧"系統(tǒng)驅(qū)動(dòng)的點(diǎn)集模型動(dòng)畫(huà)自動(dòng)生成方法,其具體 實(shí)施步驟如下:
[0031] 根據(jù)用戶(hù)讀取的點(diǎn)集模型數(shù)據(jù)以及設(shè)定的初始條件:規(guī)格長(zhǎng)度L,包圍盒等分的 份數(shù)HN 3,彈簧的初始長(zhǎng)度Ltl (Ltl是彈簧連接的兩質(zhì)點(diǎn)間的距離),彈簧的剛度系數(shù)K(K =ct/Lci,本實(shí)例中,α =15.0),質(zhì)點(diǎn)的質(zhì)量Μ,阻尼系數(shù)Cd等,實(shí)現(xiàn)點(diǎn)集模型動(dòng)畫(huà)的自動(dòng)生 成。
[0032] 1.點(diǎn)集模型的預(yù)處理:本實(shí)例對(duì)讀入的點(diǎn)集模型構(gòu)建長(zhǎng)方體軸向包圍盒B1,確定 L與包圍盒B1的最長(zhǎng)棱邊之間的比例,依據(jù)此比例對(duì)點(diǎn)集模型和長(zhǎng)方體包圍盒B1進(jìn)行成比 例縮放處理,并移動(dòng)二者的幾何中心至坐標(biāo)原點(diǎn)。具體做法為:
[0033] a)由文件讀取點(diǎn)集模型數(shù)據(jù)至內(nèi)存,建立一維數(shù)組存放點(diǎn)集,并定義頂點(diǎn)數(shù)據(jù)結(jié) 構(gòu),包含X,y,Z三個(gè)分量,存放點(diǎn)集的坐標(biāo)值。與此同時(shí),記錄X, y, z三個(gè)方向上的最小 值X1, Y1, Z1和最大值X2, y2, Z2。則長(zhǎng)方體包圍盒8個(gè)頂點(diǎn)坐標(biāo)為(X1, Y1, Z1)、(X1, Y1, Z2)、 (X1, y2, Z1)、(X1, y2, z2)、(x2, y" Z1)、(x2, y" z2)、(x2, y2, Z1)、(x2, y2, Z2),即可確定長(zhǎng)方體包圍 盒B1的大小,可參考附圖2(a)。
[0034] b)長(zhǎng)方體包圍盒B1的長(zhǎng)寬高分別為W、H、D,本實(shí)例中,規(guī)格長(zhǎng)度L = 2,則放縮比 例為:
[0035] μ = max (ff, H, D) /L
[0036] 依據(jù)μ對(duì)點(diǎn)集模型和長(zhǎng)方體包圍盒B1進(jìn)行成比例縮放處理,形成規(guī)格化點(diǎn)集模 型和包圍盒B 2,參考附圖2(b),并移動(dòng)二者的幾何中心至坐標(biāo)原點(diǎn)。
[0037] 2.建立"質(zhì)點(diǎn)-彈簧"系統(tǒng):本實(shí)例中,將長(zhǎng)方體包圍盒B2平行于x,y,ζ軸的各條 棱等分成&、隊(duì)、隊(duì)份(取N 1 = 6,N2 = 6,N3 = 6),并稱(chēng)每份為段元;形成大小為N1XN2XN3 的空間柵格結(jié)構(gòu),其將包圍盒B2剖分為一系列小的空間柵格單元,附圖3為4 X 3 X 2的空間 柵格結(jié)構(gòu)示意圖。設(shè)定包圍盒B2的8個(gè)頂點(diǎn)中X,y,ζ值均小于0的點(diǎn)為p (參考附圖4), 若Dx、Dy、Dz是空間柵格結(jié)構(gòu)中任意網(wǎng)格點(diǎn)q相對(duì)于網(wǎng)格點(diǎn)p所偏離的段元數(shù)目,點(diǎn)q的坐 標(biāo)(i,j,k)可表示為:
[0038] i = (Dx-N1^) Xff/(μ XN1)
[0039] j = (Dy-N2/2) ΧΗ/(μ XN2)
[0040] k = (Dz_N3/2) X D/ ( μ X N3)
[0041] 進(jìn)而在柵格頂點(diǎn)處放置質(zhì)點(diǎn),每一質(zhì)點(diǎn)與其相鄰或間隔質(zhì)點(diǎn)之間使用勁度系數(shù)為 K的彈簧進(jìn)行連接,可參考附圖5。
[0042] a)結(jié)構(gòu)彈簧:結(jié)構(gòu)彈簧是將一個(gè)質(zhì)點(diǎn)和與它直接相連的質(zhì)點(diǎn)連接,可參考附圖 5 (b)。
[0043] b)剪切彈簧:剪切彈簧是將一個(gè)質(zhì)點(diǎn)和與它對(duì)角的質(zhì)點(diǎn)連接,可參考附圖5(c)。
[0044] c)柔性彈簧:柔性彈簧跨過(guò)一個(gè)質(zhì)點(diǎn),將一個(gè)質(zhì)點(diǎn)和它的間隔質(zhì)點(diǎn)相連,可參考 附圖5(d)。
[0045] 對(duì)于長(zhǎng)方體柵格網(wǎng)而言,每個(gè)質(zhì)點(diǎn)共有6條結(jié)構(gòu)彈簧、6條柔性彈簧、12條剪切彈 簧,邊界點(diǎn)處需特殊考慮。對(duì)所有質(zhì)點(diǎn)添加彈簧后,最后得到"質(zhì)點(diǎn)-彈簧"系統(tǒng)。
[0046] 3.關(guān)聯(lián)模型頂點(diǎn)與彈簧格網(wǎng):在本實(shí)例中,建立彈簧格網(wǎng)與點(diǎn)集模型中每個(gè)點(diǎn)的 關(guān)聯(lián)關(guān)系主要包括兩步:求解模型點(diǎn)V所在柵格的索引號(hào)和點(diǎn)V在柵格中所處的位置。具 體做法如下:
[0047] a)由步驟2可知,模型點(diǎn)V所在柵格相對(duì)于網(wǎng)格點(diǎn)p所偏離的段元數(shù)目分別為Dx、 Dy、Dz,換句話(huà)說(shuō)Dx、Dy、Dz分別為點(diǎn)V所在柵格的X,y,z軸方向上的索引號(hào),將其轉(zhuǎn)化為一 維形式,即:
[0048] Iindex = DjDyXNADzXN1XN2
[0049] 其中 Dx e [Oj1-ILDy e [0, N2-I], Dz e [0, N3-I]。式中 index 是點(diǎn) V 在長(zhǎng)方體 包圍盒B2中所對(duì)應(yīng)的柵格。
[0050] b)以"質(zhì)點(diǎn)-彈簧"系統(tǒng)中每一個(gè)小柵格的幾何中心點(diǎn)作為坐標(biāo)原點(diǎn),構(gòu)建局部空 間坐標(biāo)系,其坐標(biāo)軸向與全局坐標(biāo)系保持一致。將小柵格8個(gè)頂點(diǎn)中X,y,z坐標(biāo)值都處于 坐標(biāo)系負(fù)軸的點(diǎn)作為基點(diǎn)b (bx,by,bz),計(jì)算基點(diǎn)與相鄰的三個(gè)頂點(diǎn)的長(zhǎng)度,分別記為R x、Ry、 Rz。進(jìn)而記錄每個(gè)模型點(diǎn)v(vx,vy vz)在三個(gè)分量上與基點(diǎn)的距離(可參考附圖6),并計(jì)算 出所占比例Px、P y、Pz,即點(diǎn)集模型中的比例值為:
[0051] Px = (v x-bx)/Rx ;
[0052] Py = (v y-by) /Ry ;
[0053] Pz = (v z-bz)/Rz〇
[0054] 4.施加作用力于彈簧系統(tǒng):設(shè)置質(zhì)點(diǎn)運(yùn)動(dòng)初始狀態(tài),如質(zhì)點(diǎn)的質(zhì)量M = 0· 01等參 數(shù),對(duì)"質(zhì)點(diǎn)-彈簧"系統(tǒng)中的部分質(zhì)點(diǎn)施加作用力,改變其運(yùn)動(dòng)狀態(tài)。
[0055] 5.分析彈簧系統(tǒng)的受力情況,并更新點(diǎn)集坐標(biāo):在本實(shí)例中,通過(guò)逐行掃描的方 法,檢測(cè)每一質(zhì)點(diǎn)受到彈簧內(nèi)部力、阻尼、重力等的合力;然后根據(jù)牛頓定律和顯性歐拉積 分法求解每一質(zhì)點(diǎn)在下一時(shí)刻的位置坐標(biāo),實(shí)現(xiàn)"質(zhì)點(diǎn)-彈簧"系統(tǒng)的整體更新;
[0056] 進(jìn)而由彈簧系統(tǒng)驅(qū)動(dòng)點(diǎn)集模型中各點(diǎn)的位置更新。主要分為以下3步:
[0057] a)檢測(cè)"質(zhì)點(diǎn)-彈簧"系統(tǒng)中的質(zhì)點(diǎn),通過(guò)逐行掃描的辦法,檢測(cè)每一個(gè)質(zhì)點(diǎn)的受 力情況。下面我們就其受力做具體分析:
[0058] 首先,每一質(zhì)點(diǎn)都受到彈簧系統(tǒng)內(nèi)部力,用表示質(zhì)點(diǎn)i和質(zhì)點(diǎn)j之間的彈簧作 用在質(zhì)點(diǎn)i上的力,這里的彈簧遵循Hooke定律,則有:
【權(quán)利要求】
1. 一種"質(zhì)點(diǎn)-彈黃"系統(tǒng)驅(qū)動(dòng)的點(diǎn)集模型動(dòng)畫(huà)自動(dòng)生成方法,其步驟是: a. 點(diǎn)集模型預(yù)處理;讀取點(diǎn)集模型數(shù)據(jù),該數(shù)據(jù)是確定坐標(biāo)系下一系列H維空間頂點(diǎn) 的坐標(biāo);分別選取點(diǎn)集模型中頂點(diǎn)坐標(biāo)在X、y、Z方向上的最大值和最小值,并根據(jù)該些值 構(gòu)建各棱均平行于坐標(biāo)軸的軸向包圍盒Bi ;對(duì)包圍盒Bi和包圍盒中的點(diǎn)集等比例縮放,使 其最長(zhǎng)棱邊為以形成規(guī)格化點(diǎn)集模型和包圍盒B,;將規(guī)格化模型及其包圍盒B,平移至坐標(biāo) 系空間中的易處理位直; b. 建立"質(zhì)點(diǎn)-彈黃"系統(tǒng):將包圍盒B2進(jìn)行剖分,形成空間柵格結(jié)構(gòu);在柵格頂點(diǎn)處 放置質(zhì)量為M的質(zhì)點(diǎn),將每一質(zhì)點(diǎn)與其相鄰或間隔相鄰質(zhì)點(diǎn)采用剛度系數(shù)為K的彈黃相連, 得到"質(zhì)點(diǎn)-彈黃"系統(tǒng); C.關(guān)聯(lián)模型頂點(diǎn)與彈黃格網(wǎng);根據(jù)"質(zhì)點(diǎn)-彈黃"系統(tǒng)中的空間柵格與點(diǎn)集模型中每個(gè) 頂點(diǎn)的位置分布關(guān)系,確定點(diǎn)集模型中各個(gè)頂點(diǎn)所對(duì)應(yīng)的柵格,建立二者之間的關(guān)聯(lián); d. 施加作用力于彈黃系統(tǒng):設(shè)置質(zhì)點(diǎn)運(yùn)動(dòng)初始狀態(tài),對(duì)"質(zhì)點(diǎn)-彈黃"系統(tǒng)中的部分或 所有質(zhì)點(diǎn)施加作用力,改變其運(yùn)動(dòng)狀態(tài); e. 分析彈黃系統(tǒng)的受力情況,并更新點(diǎn)集坐標(biāo);檢測(cè)"質(zhì)點(diǎn)-彈黃"系統(tǒng)中的每個(gè)質(zhì) 點(diǎn),根據(jù)彈黃連接關(guān)系分析質(zhì)點(diǎn)受力情況:計(jì)算其受到彈黃內(nèi)部力、阻尼、重力及其他力的 合力;然后根據(jù)運(yùn)動(dòng)定律求解每一質(zhì)點(diǎn)的加速度、速度、位移量和其他信息W及其在下一時(shí) 刻的位置坐標(biāo); f. 構(gòu)建點(diǎn)集模型相應(yīng)的點(diǎn)集曲面:根據(jù)當(dāng)前點(diǎn)集模型中各點(diǎn)的空間位置,運(yùn)用曲面擬 合方法構(gòu)造當(dāng)前點(diǎn)集模型的隱式曲面表示; g. 網(wǎng)格化點(diǎn)集曲面;采用基于空間剖分的Marching化bes方法,將隱式曲面轉(zhuǎn)化為H 角網(wǎng)格模型; h. 動(dòng)畫(huà)生成;將生成的網(wǎng)格模型撞染成動(dòng)畫(huà)的當(dāng)前峽,并由動(dòng)力學(xué)方程所確定的下一 時(shí)刻的彈黃系統(tǒng)狀態(tài)決定動(dòng)畫(huà)的下一峽;反復(fù)迭代,直到生成所需的動(dòng)畫(huà)峽系列為止。
【文檔編號(hào)】G06T13/00GK104463934SQ201410617737
【公開(kāi)日】2015年3月25日 申請(qǐng)日期:2014年11月5日 優(yōu)先權(quán)日:2014年11月5日
【發(fā)明者】祁彬斌, 龐明勇 申請(qǐng)人:南京師范大學(xué)