基于元球的幾何造型與變形動畫技術(shù)_第1頁
基于元球的幾何造型與變形動畫技術(shù)_第2頁
基于元球的幾何造型與變形動畫技術(shù)_第3頁
基于元球的幾何造型與變形動畫技術(shù)_第4頁
基于元球的幾何造型與變形動畫技術(shù)_第5頁
已閱讀5頁,還剩4頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、基于元球的幾何造型與變形動畫技術(shù)摘要 元球所具有的特殊勢函數(shù)分布,提出了一個新的用更小的數(shù)據(jù)量包含更多的幾何信息的造型和變形模型。元球造型以獨特的優(yōu)點在幾何造型和變形動畫得到了廣泛的應(yīng)用,本文圍繞元球造型在上述兩個方面,通過實驗進行了詳細的討論。同時針對元球曲面是隱式曲面效率不高的問題,對曲面形式和算法都進行了改進和加速,得到了可觀的動畫效果。關(guān)鍵詞 元球造型;變形動畫;等勢面;Marching Cube算法1 引言在計算機動畫和幾何造型中,一個很重要的研究課題是怎樣調(diào)整物體的形狀。電影和動畫中往往通過物體的變形來實現(xiàn)一些具有沖擊性的特效。傳統(tǒng)的變形方法是通過移動物體的頂點或控制頂點,但是,當(dāng)

2、我們要對物體進行某種整體變形或者需移動的頂點非常多時,該方法就顯得相當(dāng)費時和繁瑣。相比之下,一種于80年代提出的造型技術(shù)元球造型技術(shù),卻在許多方面體現(xiàn)出了明顯的優(yōu)勢。一方面通過對于普通的球體定義具有物理意義的勢函數(shù),使得球體之間有了相互作用:靠近可以相互吸引以至融合,將元球質(zhì)量定義為負數(shù),還可以產(chǎn)生尖銳和凹陷的效果。另一方面,通過對元球的各種參數(shù):半徑,勢函數(shù)公式,空間坐標(biāo),閾值的設(shè)定與調(diào)節(jié),可以方便的修改模型和形變的效果。這種概念就像是“牽一發(fā)而動全身”,不過這種牽制是一種自然的方式進行的,而通過對參數(shù)的調(diào)節(jié),又可以保證較好的局部性,不至于影響到全局1。2 背景21元球的定義元球又叫變形球,

3、英文名是Metaball,它被定義為三維空間的可變密度場,從中心向外輻射著勢能,凡是處于它密度場之內(nèi)的其它的元球都會和它相互吸引。距離越近,受到的吸引力越大。元球曲面是一個特殊的隱函數(shù)曲面,它采用具有等勢場值的點來定義曲面,因此元球曲面實際上是一張等勢面(iso-surface)。元球具有相互靠近到一定距離產(chǎn)生變形,再進一步靠近是融合成光滑表面的特性2。以兩個元球為例,它們靠近是的形變過程如圖所示: 圖2.1兩個元球靠近并融合的過程同時廣義的元球的質(zhì)量還可以是負數(shù),將一正一負兩個元球融合到一起就會產(chǎn)生凹陷的效果,兩種情況分別如圖: a b 圖2.2 (a)兩個質(zhì)量為正的元球融合的結(jié)果 (b)質(zhì)

4、量為一正一負的兩個元球(在左邊的較大的質(zhì)量為正,右邊較小的質(zhì)量為負)22元球的曲面形式對于每一個元球而言,根據(jù)自身的質(zhì)量(或密度)都有一個勢函數(shù),確定了空間中某一點相對于這個元球的勢能。常見的勢函數(shù)有2:(1) Blinn的冪函數(shù): fi(x,y,z)=exp(-ar2)(2) Nishimura的分段二次多項式 fi(x,y,z)= (3) Murakami的四次多項式 1-2 , fi(x,y,z)= 0 , r > Ri(4) Wyvill的六次多項式 fi(x,y,z)= 0 , r > Ri 其中r表示空間中一點(x,y,z)到第i個元球球心的距離,Ri是第i個元球的有效

5、半徑。 這些公式中出現(xiàn)了大量的分數(shù)和高次運算,這使得本來效率就很有限的隱式曲面的運算量有大大增加?;谠煨秃妥冃蝿赢嫷挠猛?,我們試圖對公式進行簡化,降低次數(shù)和簡化系數(shù),并得到了理想的效果(見6元球繪制算法以及改進)。對于一個由n個元球所構(gòu)成的元球系統(tǒng),它所對應(yīng)的等勢面應(yīng)該滿足: f(x,y,z) = qifi (x,y,z) T 0其中fi (x,y,z)為第i個元球的勢函數(shù),T為閾值, qi為第i個元球的密度(或質(zhì)量)。由此公式可得,該系統(tǒng)所確定的表面的勢能即為閾值T。同時,對于空間中任何一點也可以通過比較該點的勢能與T的大小來判斷到底是在等勢面內(nèi)部還是外部大于T,在表面內(nèi)部;小于T,則處于

6、表面外部;等于T的時候,恰好在等勢面上。23元球造型技術(shù)的主要優(yōu)點 將多個元球組合起來能夠生成非常復(fù)雜的形狀,如人體器官,動物形體,液體顆粒群等。元球造型技術(shù)主要有以下優(yōu)點:(1) 所需的數(shù)據(jù)量通常比多邊形表示少23個數(shù)量級。例如,用500個元球就可以構(gòu)造出一個較好的人體。(2) 適合于采用CSG模型來描述景物。(3) 適合表示可以變形的物體。采用元球造型,物體的變形能以一種自然的方式進行。(4) 適合于人體,動物器官和液體的造型:在計算機動畫中,人體造型是一個難點。人的肌肉不僅形狀復(fù)雜,而且隨人體的運動而變形,元球是解決這類問題的有效手段(5) 生成的曲面永遠是光滑的。正是這些性質(zhì),使得元球

7、造型技術(shù)得到了廣泛的應(yīng)用。通過位置、朝向、大小和密度的巧妙控制,可用元球生成許多復(fù)雜的形體,而這些形體又是傳統(tǒng)造型方法很難做到的。3 相關(guān)工作隱式曲面的造型和動畫研究近年來逐漸為人們研究的熱點,歐洲圖形學(xué)學(xué)會專門設(shè)立了相應(yīng)的Implicit Surface學(xué)術(shù)會議。該會議從1995年開始,每一年半舉辦一次。隱式曲面是元球的更一般形式,它在表現(xiàn)人體的肌肉、水滴、云、樹等物體的造型和動畫方面有很大的優(yōu)勢。元球由于其本身所特有的良好的表面光滑性,特殊的可變形性被廣泛地應(yīng)用在人體和動物的造型、流體模擬等實現(xiàn)當(dāng)中?;谌龑幽P偷募∪饽P蜕婕暗綇?fù)雜的運動學(xué)計算和有限元分析計算,故計算量非常巨大,所以,有研

8、究者提出采用自由變形技術(shù)(Free Form Deformation,F(xiàn)FD)來驅(qū)動皮膚表面幾何的變形3。使用元球造型可以模擬骨骼、肌肉和脂肪組織總的行為。這種方法簡單直觀,與隱式曲面、參數(shù)曲面和多邊形曲面結(jié)合使用可以產(chǎn)生非常真實健壯的人體變形。Ryouji Matsuda和Tomuyuki Nishita曾提出過利用元球根據(jù)所測得的人體三圍數(shù)據(jù)進行人體的建模,以將此應(yīng)用在服裝CAD當(dāng)中的基本方法和實現(xiàn)。由于人體的輪廓能夠簡單地由若干球體相互交融搭建而成,因此可以很輕易地依據(jù)一些基本的輪廓數(shù)據(jù):如三圍,身高等確定人體的大致輪廓。而且可以進行即時的修改4。由于元球的和水滴相象的性質(zhì),元球還可以被

9、用來進行液體顆粒的模擬,尤其是濃度比較大,膠著性比較好的液體。Young-Jung Yu,Ho-Youl Jung,Hwan-Gue Cho等人利用這一特性進行了基于元球的水波的模擬,在普通的單純球體基礎(chǔ)上又加了改進:增加了水滴液體對光的折射和反射,在重力場作用下發(fā)生的形變以及非球形水滴的模擬。5元球也因為其良好的微粒性,漸漸地在云彩,流水等液體顆粒群的模擬也中越來越多地被用到。64實例說明:元球在幾何造型上的優(yōu)勢一個簡單的事實可以看出元球造型的獨到的特點:由多個元球組成的系統(tǒng)所決定的等勢面,就像是在依附在以球體為支架的表面。這就使得元球造型特別適合動物和人體的造型 我們可以根據(jù)真實的生理結(jié)構(gòu)

10、(一般情況下,按照骨骼結(jié)構(gòu)),來確定對應(yīng)元球的位置,而顯示時對應(yīng)的等勢面就跟實際上生物體的形態(tài)很相似,并且通過對于各個球體的半徑和勢能的調(diào)整,就可以對模型的不同部位作細部調(diào)整。7為了更加清晰的說明,下面我們使用圖示,將元球表示,等勢面表示,生物骨骼一并放在一起,對比來看看這一獨特的優(yōu)勢:【例一】劍龍 圖4.1 (a)劍龍的骨骼圖片 (b)劍龍模型對應(yīng)的元球位置分布 a (c)與(b)相對應(yīng)的劍龍模型的元球等勢面b c圖片來源:圖(a)(最后訪問時間 2003-6-26) 圖 (b) (c) http:/www.studio- (最后訪問時間 2003-6-26) 通過對照圖4.1(a)與(b)

11、,可以看出,在使用元球造型構(gòu)造劍龍模型的時候,基本可以對照實際的劍龍的骨骼圖片。在建立好了基本模型之后,對每一個元球的半徑和勢能的修改都是具有實際的物理意義的:修改半徑相當(dāng)于修改某一個骨骼或者關(guān)節(jié)的大小,修改勢能相當(dāng)于修改附著于骨骼上的肌肉組織,它們都會影響到模型的顯示效果。傳統(tǒng)的造型方式主要是分為骨骼、肌肉、皮膚三個系統(tǒng),操作相對繁瑣,并且修改起來也非常不方便。元球的這些性質(zhì)決定了它的一個非常顯著的優(yōu)點當(dāng)模型運動的時候,肌肉能夠跟隨著骨骼非常一致的運動,這使得元球造型技術(shù)不僅適合靜態(tài)模型的造型,對于非常適合模型的變形和運動的動畫?!纠咳说念^部人的頭部是一個非常典型的由骨骼和肌肉來確定臉形

12、和外表的模型(考古學(xué)家經(jīng)常只用對頭骨的分析就可以判斷死者的性別和年齡)。在我們的實驗中,也按照頭骨的基本結(jié)構(gòu),嘗試著構(gòu)造了人體的頭部模型,如圖4.2: 圖4.2 (a)頭部的元球模型 (b)與(a)相對應(yīng)的等勢面 a b (c)將(a)中的顎骨處修改的消瘦一些的元球模型 c d (d)與(c)相對應(yīng)的等勢面在(a)與(c)中,為了顯示出空間的重疊關(guān)系,對元球模型采用的是線框模型表示,這樣可以清楚的看到位于較大的球體內(nèi)部的元球。對于眼部,耳部等處的凹陷效果,是通過在對應(yīng)的位置安放質(zhì)量為負的元球來達到的(例如,圖4.2(a)與(c)中紅色和綠色的小球的質(zhì)量都是負的)。同時我們還可以看到的是,以上的

13、線框模型與實際上的人的頭骨結(jié)構(gòu)是非常相似的:在對應(yīng)與鼻骨,顴骨,下巴,臉頰,耳朵的位置上,我們也分別放置了大小不同的元球,得到的效果在(b)和(d)中都可以看出。在前面也提到過,使用元球造型技術(shù),對于模型的修改非常簡單方便。如果我們希望人物的臉頰比較消瘦,只需要將對應(yīng)于臉頰處的元球進行簡單縮放。圖4.2(c)與(a)的唯一不同就是表示臉頰的元球(半徑第二大的元球)的半徑要小一些,雖然只作了這樣小的改動,但是(d)與(b)相比,這個臉部的變化不僅明顯而且自然。相應(yīng)的,對于臉部其他部位的元球作半徑和空間坐標(biāo)的調(diào)整,可以很方便地對人臉造型的骨骼和肌肉進行修改?!纠科渌鼊游锏脑煨突谠蛟谠靹游镄?/p>

14、體方面的另一個優(yōu)勢就是所需要的數(shù)據(jù)量非常的小。以海豚為例:造出比較逼真的海豚輪廓(如圖4.3(a),(b))一共用到了50個元球,2718個空間點,5424個三角片,將元球的半徑、三維空間坐標(biāo)存儲在一個文件中導(dǎo)出,所占的空間是0.73k;而轉(zhuǎn)換為同等的3ds文件,所占的空間為74.5k。從一個3D造型的數(shù)據(jù)量看,元球造型所需要的數(shù)據(jù)量是三角片造型的1/102!在圖4.3(c)和(d)中還列出了使用元球造型的鴕鳥。按照普遍的經(jīng)驗來看,元球造型所需的數(shù)據(jù)量一般也都會比傳統(tǒng)造型所需的數(shù)據(jù)量少23個數(shù)量級。 圖4.3 (a)、(b)海豚模型 a b (c)、(d)鴕鳥模型 c d 5元球造型在變形動畫

15、上的優(yōu)勢當(dāng)兩個元球在靠近的時候,會有一個類似于水銀的融合的過程,由于導(dǎo)致這些效果的根本原因是因為元球是具有勢能的,所以它非常適合模擬液體的流動和融合效果,并且從一個模型變?yōu)榱硪粋€模型的時候可以非常的自然,圓滑。著名電影終結(jié)者II中,從金屬液體變成機器人的特效就是使用元球造型技術(shù)完成的。在我們的工作中,實現(xiàn)了對造型之后的模型之間的轉(zhuǎn)換,而且變形的方式非常的靈活,用戶可以根據(jù)自己的需要自行定義。因為在元球造型中的基本單位是一個元球,那么我們可以將當(dāng)前模型的某一個元球?qū)?yīng)到下一個模型的一個元球,所需要的變化實際上就是該球體位置和大小的改變。例如希望模型轉(zhuǎn)換采用的方式是切向運動,那么只需在每一禎刷新的

16、時候,用該元球的目標(biāo)位置減去當(dāng)前的位置,可以確定當(dāng)前速度的方向,大小可以由具體的需要自行定義。當(dāng)然,為了得到自然的平移運動效果(一般這樣的情況對應(yīng)的是在同一個模型運動的關(guān)鍵禎之間插值變換),元球的位置應(yīng)該有很強的對應(yīng)關(guān)系,也就是如果在某一個關(guān)鍵禎第5號元球表示海豚的尾巴,到了下一個關(guān)鍵禎,5號元球也應(yīng)該表示海豚的尾巴。例如,我們試著對一只鳥的模型中右腿位置稍作了改變,那么就可以得到圖5.1中的變形效果(為了反映動畫效果,將不同時刻的圖進行合成得到)。 圖5.1 鴕鳥的右腿抬起的過程抓圖如果希望在變換的時候由飛散的粒子效果(一般這種情況是用在不同模型之間的變形),我們可以將模型間元球的對應(yīng)關(guān)系打

17、散,也就是使得元球的位置發(fā)生較大的變化,這樣原來聚集到一起的球體就會散開,又聚攏。圖5.2是我們實驗中得到的效果圖,其中表面的金屬感是通過添加紋理和光照得到。圖5.2 較為分散的形變效果 (a)海豚 (b)中間過程 (c)劍龍 a b c 基本配置:處理器AMD Athlon Processor 內(nèi)存256MB 顯卡NVIDIA RIVA TNT2 M64(32M顯存) 顯示效果:在452*329*16位色的分辨率下 達到7-10 fps 6元球繪制算法以及改進雖然元球造型在變形動畫上有許多獨到的優(yōu)勢,但是由于它的曲面形式是隱式曲面,對于隱式函數(shù)的計算往往成為繪制的瓶頸,尤其是在即時動畫方面的

18、應(yīng)用。對于元球的繪制采用的比較普遍的算法是marching cube算法,這也是應(yīng)用得很普遍的繪制等勢面或者隱函數(shù)曲線算法?;舅枷胧前凑湛臻g坐標(biāo)將空間劃分成或干等大小的立方體(cube)。通過測試空間每一個立方體的每一個頂點,針對所對應(yīng)的應(yīng)該在此cube坐標(biāo)應(yīng)該繪制的情況替換為一系列適當(dāng)?shù)娜瞧?。最終所得的結(jié)果就是一個近似于等勢面的光滑表面8。首先考慮對勢能公式的簡化。最典型的等勢面勢能計算公式為Wyvill的六次多項式,由于在元球造型上的應(yīng)用有其特殊性和局限性,可以拋開大計算量的高次公式,而使用類似于分子勢能的計算方法,來模擬分子間的作用力,公式如下:f(x,y,z) = m / dist

19、ance2 m代表該元球的質(zhì)量,distance代表空間上一點(x,y,z)到該元球球心的距離。其次考慮到真正與元球相交的體元一般都占不到整體的10%。如果對cube空間中的每一個點都計算與等勢面的相交的情況,這樣的計算是很不明智的。將算法作以下改進:每次的計算都是從一個元球的中心開始,沿著z軸正方向移動,直到遇到等勢面。等勢面的繪制采用基于連通圖的marching cube 繪制方式9查找到一個需繪制cube之后緊接著繪制它的鄰接cube 。類似于填充算法中的種子算法,從等勢面上一個面片開始,將與此連通的整個等勢面依次繪制出來。參考文獻:1 Xiaogang Jin, Y.F. Li, Qu

20、nsheng Peng, "General Constrained Deformation Based on Generalized Metaballs" Pacific Graphics'98, 1998, Singapore, IEEE Computer Society, PP.115-124.2 彭群生,鮑虎君,金小剛 編著 計算機真實感圖形的算法基礎(chǔ), 科學(xué)出版社 1999年 3 彭群生,鮑虎軍,金小剛,馮結(jié)青,呂思超 計算機動畫算法及應(yīng)用, 浙江省科技進步三等獎 19984 Ryouji Matsuda, Tomuyuki Nishita: Modelin

21、g and Deformation Method of Human Body Model Based on Range Data,. Shape Modeling International 19995 Yu, Y.J., Jung, H.Y., Cho, H.G., A New Rendering Technique for Water Droplet using Metaball in the Gravitation Force, 6th International Conference in Central Europe on Computer Graphics and Visualiz

22、ation (WSCG '98), pp.448-454, 1998.6 T. Nishita, Y. Dobashi: Modeling and Rendering Methods of Clouds ,Proceedings of the 7th Pacific Conference, 1999-10, pp. 218-2197 金小剛彭群生:基于廣義元球的一般約束變形, 軟件學(xué)報,1998年 第9卷 第9期 No.9 Vol.9 19988 C.Montani,R.Scateni,R.Scopigno , Discretized Marching Cubes, In R. D.

23、Bergeron and A. E. Kaufman, editors, Visualization '94 Proceedings, pages 281-287. IEEE Computer Society, IEEE Computer Society Press, 1994.9 Y. Kenmochi, K. Kotani and A. Imiya, "Marching Cubes Method with Connectivity Consideration," PRMU-98-218, pp. 197-204, 1999.The technique of modeling and animation base on meatballYE Jing, LIU Jicai, WANG Guoping, DONG ShihaiDepartment of Computer Science and

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論