第8章計算機動畫技術(shù)(計算機圖形學(xué))_第1頁
第8章計算機動畫技術(shù)(計算機圖形學(xué))_第2頁
第8章計算機動畫技術(shù)(計算機圖形學(xué))_第3頁
第8章計算機動畫技術(shù)(計算機圖形學(xué))_第4頁
第8章計算機動畫技術(shù)(計算機圖形學(xué))_第5頁
已閱讀5頁,還剩39頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

計算機圖形學(xué)ComputerGraphics教材:《計算機圖形學(xué)》王汝傳等編著人民郵電出版社第八章計算機動畫技術(shù)8.1計算機動畫概述

8.1.1計算機動畫歷史與現(xiàn)狀

8.1.2傳統(tǒng)動畫和計算機動畫

8.1.3計算機動畫的研究內(nèi)容8.1.4計算機動畫的應(yīng)用

8.2計算機動畫的分類和原理

8.2.1計算機動畫的分類8.2.2計算機動畫原理

8.3計算機動畫的關(guān)鍵技術(shù)

8.3.1旋轉(zhuǎn)的四元數(shù)表示8.3.2碰撞檢測技術(shù)8.3.3運動捕捉技術(shù)

8.1計算機動畫概述

動畫的定義:就是一組連續(xù)的圖像序列。當(dāng)按一定的速率顯示的時候,能傳遞一種運動的感覺。動畫的技術(shù)要求:每一幅圖像或者每一動畫幀,都必須有機地、無縫地和其他的圖像融合在一起,這樣才能隨著時間的變化,產(chǎn)生平滑的、連續(xù)的運動。一、計算機動畫歷史與現(xiàn)狀

計算機動畫技術(shù)可以看作計算機圖形學(xué)的綜合應(yīng)用。包括圖形生成(二維、三維)尤其是真實感圖形生成技術(shù)。計算機動畫最初產(chǎn)生和發(fā)展與傳統(tǒng)動畫制作有著密切關(guān)系。(1)1963年,Bell實驗室研究人員用計算機制作出了世界上第一部動畫片。計算機圖形學(xué)與計算機動畫不同,計算機動畫屬于四維空間(三維加上時間),而計算機圖形學(xué)只限于三維空間。(2)60年代期間,美國一些公司、研究機構(gòu)和大學(xué)開發(fā)二維動畫系統(tǒng),用計算機實現(xiàn)中間畫面制作(關(guān)鍵幀)和自動著色。(3)在70年代初期,開始研制三維輔助動畫系統(tǒng)。(4)70年代期間至80年代初,隨著計算機圖形學(xué)理論發(fā)展,尤其三維物體造型的發(fā)展,人們開始研究計算機三維造型動畫系統(tǒng)。(5)80年代,研究動畫生成的關(guān)鍵參數(shù)插值法、運動學(xué)算法和動力學(xué)算法等。(6)80年代末進入90年代后,多種不同動畫軟件出現(xiàn),如3DS,Animator等。目前,隨著計算機硬件性能價格比的快速提高和OpenGL、DirectX等圖形標(biāo)準(zhǔn)的廣泛應(yīng)用,商用動畫軟件公司紛紛推出了動畫軟件的微機版本。如原來運行于工作站上價格昂貴的動畫軟件Alias|Wavefront、maya和softimage現(xiàn)在都已有了PC版本。隨著PC圖形加速卡的性價比迅速提高,使得在基于PC的微機工作站上制作動畫也能與在SGI工作站上一樣得心應(yīng)手。當(dāng)前,商業(yè)動畫軟件的功能越來越強,已經(jīng)能夠輕松制作出許多足以以假亂真的影視動畫特技,這在《侏羅紀(jì)公園》、《終結(jié)者》等電影中都得到了淋漓盡致的展現(xiàn),觀眾已很難區(qū)分哪些是計算機生成的動畫,哪些是模型制作的效果。傳統(tǒng)動畫片生產(chǎn)過程

1)劇本不帶畫面的整個故事的詳細敘述,反映動畫片大致概貌與鏡頭的劇本,如同故事片一樣。

2)設(shè)計稿對動畫片中出現(xiàn)多種角色選型、動作、色彩、氣氛等設(shè)計,實際上完成手稿圖工作。

3)聲音節(jié)拍動作必須與對話聲音相配合、協(xié)調(diào)一致。

4)關(guān)鍵幀動畫處理中關(guān)鍵幀(也稱原畫)由經(jīng)驗豐富的動畫設(shè)計者完成,通常由一個設(shè)計者完成某個角色。二、傳統(tǒng)動畫與計算機動畫5)中間畫中間畫是那些位于兩個關(guān)鍵幀之間的畫面,中間畫一般由輔助動畫設(shè)計者及其助手完成。

6)測試

7)描線上墨

8)上色給多幅畫面在透明片上涂上顏料9)檢查動畫設(shè)計者在拍攝之前再次檢查各鏡頭動作質(zhì)量10)拍攝這一工序在動畫攝制機上完成。動畫攝影師把動畫系統(tǒng)通過拍攝依次記錄在膠片上11)后期制作編輯、剪接、對白、配音、剪帶等后期制作工序是必不可少的

傳統(tǒng)動畫采用手工方法制作,精度差且效率低;計算機動畫的實現(xiàn),省去了繁雜的手工工序,使動畫片的生產(chǎn)效率提高了許多倍。計算機動畫立體感強,可以改變視角、視距、視野及景深,具有明暗光線變化和陰影,使物體產(chǎn)生不同灰度和顏色漸變以及逼真的光照,可以產(chǎn)生紋理質(zhì)感,這些特點與效果是傳統(tǒng)手工動畫難以實現(xiàn)或不可能實現(xiàn)的。

三、計算機動畫研究內(nèi)容1、關(guān)鍵幀動畫2、基于機械學(xué)的動畫和工業(yè)過程動畫仿真3、運動和路徑的控制4、動畫語言與語義5、基于智能的動畫,機械人與動畫6、動畫系統(tǒng)用戶界面7、科學(xué)可視化計算機動畫表現(xiàn)8、特技效果,合成演員9、語言、音響合成,錄制技術(shù)四、計算機動畫應(yīng)用1、電影電視動畫片制作2、商業(yè)電視廣告3、計算機輔助教學(xué)演示4、飛行員模擬訓(xùn)練5、游戲軟件應(yīng)用前景:1、計算機動畫與多媒體技術(shù)2、計算機動畫與虛擬現(xiàn)實技術(shù)3、計算機動畫與人工生命96年涂曉媛博士研究出新一代計算機動畫--“人工魚”

8.2計算機動畫分類和原理一、計算機動畫的分類1、二維動畫(卡通動畫)傳統(tǒng)卡通動畫先畫出兩個關(guān)鍵幀,然后在中間插入一系列畫,計算機二維動畫則借助計算機來完成中間畫的自動生成。一、計算機動畫分類2、三維動畫如果說二維動畫對應(yīng)于傳統(tǒng)卡通動畫,那么三維動畫畫則對應(yīng)于木偶動畫。木偶動畫首先制作木偶、道具和場景,三維動畫首先建立角色、實物和場景三維數(shù)據(jù)。三維動畫具有很強的真實感和立體感。一、計算機動畫分類按照動畫物體自身物理屬性不同,三維動畫也可分為:1、剛體動畫2、軟體動畫3、關(guān)節(jié)動畫4、粒子動畫二、計算機動畫原理1、關(guān)鍵幀動畫通過一組關(guān)鍵幀或關(guān)鍵參數(shù)值而得到中間動畫幀序列:(1)形狀插值:從關(guān)鍵幀本身而得到中間動畫幀;(2)關(guān)鍵參數(shù)插值:通過插值物體模型關(guān)鍵參數(shù)數(shù)值來獲得中間動畫。1)運動學(xué)算法:由運動學(xué)方程確定物體運動軌跡和速率。2)動力學(xué)算法:由力學(xué)方程確定物體運動形式。3)反向運動學(xué)算法:已知物體末端位置和狀態(tài),反求運動方程以確定運動形式。4)反向動力學(xué)算法:已知物體末端位置和狀態(tài),反求動力學(xué)方程以確定運動形式。5)隨機運動算法:在某些場合下加進運動控制隨機因素。2、算法動畫算法動畫由算法實現(xiàn),一般適用于三維情形。算法動畫是指按照物理或化學(xué)等自然規(guī)律對運動進行控制的方法、針對不同類型物體的運動方式,從簡單的質(zhì)點運動到復(fù)雜的渦流、有機分子碰撞等,一般按物體運動的復(fù)雜程度分為質(zhì)點、剛體、可變軟組織、鏈接物、變化物等類型、也可以按解析式定義物體。用算法控制運動的過程包括:給定環(huán)境描述、環(huán)境中的物體造型、運動規(guī)律、計算機通過算法生成動畫幀。目前針對剛體和鏈接物已開發(fā)了不少較成熟算法,對軟組織和群體運動控制方面也做了不少工作。2、算法動畫一、旋轉(zhuǎn)的四元數(shù)表示

計算機動畫中常需對物體或角色進行旋轉(zhuǎn)操作。

三維空間中的旋轉(zhuǎn)可用:

1、旋轉(zhuǎn)矩陣

2、歐拉角

3、四元數(shù)(Quaternions)等數(shù)學(xué)形式來表示。8.3計算機動畫的關(guān)鍵技術(shù)缺點:做插值運算時并不能得到正確結(jié)果

缺點:萬向節(jié)鎖問題

一、旋轉(zhuǎn)的四元數(shù)表示

四元數(shù)最早由SirWilliamRowanHamilton于1843年提出,從復(fù)數(shù)推廣到四維空間而得,到1985年,Shoemake又把四元數(shù)引入到了計算機圖形學(xué)中來。四元數(shù)旋轉(zhuǎn)表示具有這樣的優(yōu)點:一、計算簡單;二、朝向插值較穩(wěn)定而平滑;三、幾何意義明了。此外,矢量代數(shù),實數(shù)、復(fù)數(shù)和矢量都可以看作是四元數(shù)的特例,它們可以在一起統(tǒng)一進行運算。

一個四元數(shù)可以表示為:q=a+xi+yj+zk,其中i、j、k的關(guān)系如下:

i2=j2=k2=-1

i*j=k=-j*i

j*k=i=-k*j

k*i=j=-i*k一、旋轉(zhuǎn)的四元數(shù)表示

也可以簡化表示為:q=(W,V)=W+V,其中W=a,V=xi+yj+zk(實部W是一個標(biāo)量,虛部V代表向量,i,j,k稱為虛軸),盡管V稱為向量,但不要將其看成是典型的3D向量,它是4D空間的“抽象”向量。假設(shè)有兩個四元數(shù):q1=a1+x1i+y1j+z1kq2=a2+x2i+y2j+z2k四元數(shù)的加法定義如下:q1+q2=(W1,V1)+(W2,V2)=(W1+W2)+(V1+V2)

=(a1+a2)+(x1+x2)i+(y1+y2)j

+(z1+z2)k四元數(shù)的乘法定義如下:q1*q2=(W1,V1)*(W2,V2)

=W1*W2-V1.V2+V1XV2+W1*V2+W2*V1

=(a1*a2-x1*x2-y1*y2-z1*z2)

+(a1*x2+x1*a2+y1*z2-z1*y2)i

+(a1*y2-x1*z2+y1*a2+z1*x2)j

+(a1*z2+x1*y2-y1*x2+z1*a2)k其中V1.V2表示向量內(nèi)積,V1XV2表示向量外積。一、旋轉(zhuǎn)的四元數(shù)表示假設(shè)有一任意旋轉(zhuǎn)軸的向量V(Xv,Yv,Zv)與一旋轉(zhuǎn)角度θ,同時旋轉(zhuǎn)方向滿足右手規(guī)則,如下圖所示:

可以將之轉(zhuǎn)換為四元數(shù)形式:x=b*Xvy=b*Yvz=b*Zva=cos(θ/2)b=sin(θ/2)

一個四元數(shù)對應(yīng)空間中的一個軸以及繞該軸旋轉(zhuǎn)的角度,這比旋轉(zhuǎn)矩陣的固定軸方式要靈活得多,而復(fù)合旋轉(zhuǎn)變換也可以通過四元數(shù)的乘積來表示,每一個四元數(shù)代表一次單獨的旋轉(zhuǎn)。

四元數(shù)優(yōu)勢:插值(Interpolation)運算。

進行兩個四元數(shù)的插值運算可以使程序計算出從同一個軸的一點到另一點的平滑且合理的路徑,以產(chǎn)生較為平滑的動畫軌跡。

旋轉(zhuǎn)插值的基本思想:用四元數(shù)表示旋轉(zhuǎn),將旋轉(zhuǎn)矩陣變換到四元數(shù)空間,然后在四元數(shù)空間進行插值,插值后的四元數(shù)再變回到三維空間并作用到物體上。假設(shè)動畫設(shè)計師制作了一系列旋轉(zhuǎn)的關(guān)鍵幀序列,那么每一幀可由單個旋轉(zhuǎn)矩陣表示,這些矩陣序列先被轉(zhuǎn)換為一系列四元數(shù)形式,再在關(guān)鍵幀四元數(shù)之間進行插值,產(chǎn)生一系列連續(xù)的四元數(shù),最后再將它們轉(zhuǎn)換回旋轉(zhuǎn)矩陣。

采用什么方法來進行插值運算呢?

通常采取的方法是進行球面線性插值。

需要特別指出的是:在對四元數(shù)如q1、q2進行球面線性插值時,應(yīng)首先判斷一下它們二者之間的夾角,當(dāng)夾角>90度時,則計算q1和-q2之間的球面線性插值,當(dāng)夾角<=90度時,則計算q1和q2之間的球面線性插值(這相當(dāng)于在兩個方向間找尋最小的方向旋轉(zhuǎn)),而判斷兩個方向間的夾角可以通過計算點積來實現(xiàn)。

二、碰撞檢測技術(shù)

碰撞檢測是計算機動畫中需要解決的問題之一,它的核心任務(wù)是檢測兩個或多個物體彼此之間是否發(fā)生接觸或進入。當(dāng)前,三維幾何模型越來越復(fù)雜,動畫效果越來越逼真,同時人們對交互的實時性、場景的真實性的期望越來越高,這些都對碰撞檢測技術(shù)提出了相應(yīng)的要求。

8.3計算機動畫的關(guān)鍵技術(shù)二、碰撞檢測算法算法分類:(1)基于時間域,可以分為靜態(tài)、離散和連續(xù)的碰撞檢測算法。(2)基于空間域,可以分為基于物體空間的碰撞檢測算法和基于圖象空間的碰撞檢測算法?;谖矬w空間的碰撞檢測算法基于物體空間的碰撞檢測算法又分:空間剖分法(spacedecomposition)層次包圍體樹法(hierarchicalboundingvolumetrees)

這兩類方法都是通過盡可能減少進行精確求交的物體對或基本幾何元素的個數(shù)來提高算法效率的。不同的是,空間剖分法采用對整個場景的層次剖分技術(shù)來實現(xiàn),而層次包圍體樹法則是對場景中每個物體建構(gòu)合理的層次包圍體樹來實現(xiàn)。包圍體技術(shù)

1976年由Clark提出?;舅枷耄河靡粋€簡單的幾何形體(即包圍體)將動畫場景中復(fù)雜的幾何物體圍住,通過構(gòu)造樹狀層次結(jié)構(gòu)可以越來越逼近真實的物體。當(dāng)對兩個物體碰撞檢測時,首先檢查兩者的包圍體是否相交,若不相交,則說明兩個物體未相交,否則再進一步對兩個物體作檢測,因為包圍體的求交算法比物體求交算法要簡單的多,所以可以快速排除很多不相交的物體,從而大大加快和簡化了碰撞檢測算法?;诖?,包圍體的碰撞檢測算法在很多動畫系統(tǒng)中被廣泛采用。(1)可以靈活采用不同的包圍體來權(quán)衡效率與精度這一對矛盾;(2)不論采用何種包圍體,用于碰撞檢測的代碼結(jié)構(gòu)是類似的;(3)可用一個簡單的代價函數(shù)(CostFunction)對性能進行調(diào)整、計算和比較。包圍體技術(shù)特點:

基于層次包圍體的碰撞檢測算法根據(jù)包圍體類型的不同可以區(qū)分為:1、包圍球體2、AABB軸對齊包圍體(AlignedAxisBoundingBox)3、OBB有向包圍體(OrientedBoundingBox)4、k-dop包圍體(DiscreteOrientationPolytope)5、QuOSPO包圍體(QuantizedOrientationSlabswithPrimaryOrientations)6、凸塊層次包圍體7、混合層次包圍體等等。1.包圍球

包圍球定義為包含物體的最小的球體。包圍球的球心可以用物體頂點坐標(biāo)的最大值和最小值的一半來確定。包圍球間的相交測試比較簡單。對于兩個包圍球(c1,r1)和(c2,r2),如果球心距離小于半徑之和|c1-c2|≤r1+r2則兩包圍球相交。包圍球的構(gòu)造十分簡單,而且存儲一個包圍球所占的內(nèi)存也很小。包圍球適合于長寬高相差不多的物體,且物體頻繁發(fā)生旋轉(zhuǎn)的情況,因為無論物體如何旋轉(zhuǎn)包圍球都不需要再次更新。但是對于長條形的物體,包圍球的緊密性很差,建構(gòu)物體層次樹時會產(chǎn)生較多的節(jié)點,導(dǎo)致大量冗余的包圍體之間的求交計算,因此,除非物體大量旋轉(zhuǎn)的情況之外,現(xiàn)在的動畫或者游戲當(dāng)中幾乎不會使用該方法。2.AABB包圍體

AABB(AlignedAxisBoundingBox)其實是沿坐標(biāo)軸的包圍體,它是包含幾何對象且各邊平行于坐標(biāo)軸的最小六面體。構(gòu)造時根據(jù)物體的形狀和狀態(tài)取得坐標(biāo)X,Y,Z方向上的最大最小值就能確定包圍體最高和最低的邊界點。檢測兩個AABB包圍體是否相交非常簡單,只要利用投影法:當(dāng)且僅當(dāng)三個坐標(biāo)軸上的投影均重疊,兩個AABB包圍體才相交。只要存在一個方向上的投影不重疊,那么它們就不相交。所以檢測兩個AABB包圍體是否相交最多只需要6次比較運算。AABB包圍體具有建構(gòu)簡單快速、相交測試簡單、內(nèi)存開銷少的優(yōu)點,能較好地適應(yīng)可變形物體實時更新層次樹的需要,但AABB也存在包圍物體不夠緊密,在一些情況時將出現(xiàn)較大的空隙,從而導(dǎo)致層次二叉樹的節(jié)點冗余,對碰撞檢測效率有較大影響。為此,Bergen提出了一種有效的改進算法。該算法采用分離軸定理(SeparateAxisTheorem)加快AABB包圍體之間的相交檢測,同時又利用AABB局部坐標(biāo)軸不發(fā)生變化的特性加速AABB樹之間的碰撞檢測。他的算法與Gottschalk等提出的采用OBB樹的碰撞檢測算法相比,計算性能上已經(jīng)相差不大,故在精度要求不是很高的動畫創(chuàng)作系統(tǒng)中常會被采用。2.AABB包圍體

3.OBB有向包圍體OBB(OrientedBoundingBox)方向包圍體是由Gottschalk等于1996年提出的,定義為包含幾何對象且相對于坐標(biāo)軸方向任意的最小長方體。OBB的構(gòu)造稍微復(fù)雜一些,關(guān)鍵在于包圍盒最佳方向的確定,最佳方向必須保證在該方向上包圍體的體積最小。OBB包圍體的優(yōu)點是方向任意,緊密性好,能很好降低進行相交檢測包圍體的數(shù)目,在一定程度上提高了算法的效率。缺點是計算方法比較復(fù)雜,不能有效地處理軟體變形等情況,而且相交測試也相對復(fù)雜,并且無法用來判斷兩三角面片之間的距離,只能得到二者的相交結(jié)果,一般只適用于處理兩個物體之間的碰撞檢測。4.k-dop包圍體

一個k-DOP是一個凸多面體,各個面由k個固定的法向確定,其中法向以外的半空間不作為包圍體一部分來考慮。AABB實際上是一個特殊的6-DOP,當(dāng)k值增大時,包圍體越來越接近凸包,從而更接近物體。Klosowski等指出,對于適當(dāng)?shù)膋值,兩個k-DOP相交測試速度要比兩個OBB的相交測試速度快一個數(shù)量級?;趯哟伟鼑w的算法性能受兩個方面影響:1、包圍體包圍物體的緊密程度;2、包圍體之間的相交檢測速度。包圍體包圍物體的緊密度影響層次樹的節(jié)點個數(shù),節(jié)點個數(shù)越少在遍歷檢測中包圍體檢測次數(shù)也就越少。OBB和k-dop能相對更緊密地包圍物體,但建構(gòu)它們的代價太大,對有變形物體的場景往往無法實時更新層次樹。AABB和包圍球包圍物體不夠緊密,但它們層次樹更新快,可用于進行變形物體的碰撞檢測。在包圍體相交檢測的速度方面AABB和包圍球具有明顯優(yōu)勢,OBB和k-dop則需要更多的時間。

包圍體技術(shù):

三、運動捕捉技術(shù)

運動捕捉(MotionCapture)是

溫馨提示

  • 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

提交評論