計算機動畫技術(shù).課件_第1頁
計算機動畫技術(shù).課件_第2頁
計算機動畫技術(shù).課件_第3頁
計算機動畫技術(shù).課件_第4頁
計算機動畫技術(shù).課件_第5頁
已閱讀5頁,還剩32頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第八章 計算機動畫技術(shù)7/29/20221計算機圖形學(xué)的一個重要應(yīng)用領(lǐng)域就是計算機動畫?,F(xiàn)代的計算機技術(shù)與傳統(tǒng)動畫技術(shù)相結(jié)合,產(chǎn)生出計算機動畫技術(shù),得到了快速發(fā)展,在影視、娛樂、仿真等領(lǐng)域得到廣泛的應(yīng)用。本章主要分兩部分,第一部分首先介紹計算機動畫技術(shù),包括計算機動畫技術(shù)概述、動畫技術(shù)分類、動畫的基本原理和關(guān)鍵技術(shù),第二部分則以幾個連貫的例子,重點介紹使用OpenGL產(chǎn)生動畫的一般方法。7/29/202228.1 計算機動畫技術(shù)概述7/29/202238.1.1 動畫技術(shù)的歷史和發(fā)展法國考古學(xué)家發(fā)現(xiàn),兩萬五千年前的石器時代洞穴畫上就有系列的野牛奔跑分析圖,這是人類試圖用筆(或石塊)捕捉并凝結(jié)動

2、作的最初嘗試。歐洲修道士發(fā)明了“魔術(shù)幻燈”,中國唐朝發(fā)明的皮影戲。近代世界隨著電影的出現(xiàn),表明人們對于動畫播放的技術(shù)已基本掌握,平面動畫的制作技術(shù)也逐漸成熟,特別是與計算機技術(shù)相結(jié)合,計算機動畫技術(shù)特別是三維動畫技術(shù)獲得極大的發(fā)展。計算機動畫技術(shù)是在傳統(tǒng)動畫的基礎(chǔ)上,隨著現(xiàn)代計算機技術(shù),特別是圖形學(xué)、多媒體的發(fā)展而逐步發(fā)展、成熟起來。計算機動畫狹義的定義是指用計算機技術(shù)輔助制作影視動畫片,或以輸出實時交互場景為主的技術(shù)。7/29/202248.1.1 動畫技術(shù)的歷史和發(fā)展發(fā)展過程三個階段 1、60年代美國的Bell實驗室和一些研究機構(gòu)就開始研究用計算機實現(xiàn)動畫片中間畫面的制作和自動上色。這些早

3、期的計算機動畫系統(tǒng)基本上是二維輔助動畫系統(tǒng)(Computer Assisted Animation),也稱為二維動畫。1963年美國貝爾實驗室語言編寫了一個稱為BEFLIX的二維動畫制作系統(tǒng),這個軟件系統(tǒng)在計算機輔助制作動畫的發(fā)展歷程上具有里程碑的意義。7/29/202258.1.1 動畫技術(shù)的歷史和發(fā)展2、第二個階段是從20世紀(jì)7080年代中期,計算機圖形、圖像技術(shù)的軟、硬件都取得了顯著的發(fā)展,使計算機動畫技術(shù)日趨成熟,三維輔助動畫系統(tǒng)也開始研制并投入使用。三維動畫也稱為計算機生成動畫(Computer Generated Animation ),其動畫的對象不是簡單地由外部輸入,而是根據(jù)三

4、維數(shù)據(jù)在計算機內(nèi)部生成的。7/29/202268.1.1 動畫技術(shù)的歷史和發(fā)展3、第三個階段是從1985年到目前為止的飛速發(fā)展時期,是計算機輔助制作三維動畫的實用化和向更高層次發(fā)展的階段。在這個階段中,首先是出現(xiàn)世界上第一個完整的且具有實用意義的三維動畫片。在隨后的十年內(nèi),計算機輔助三維動畫的制作技術(shù)有了質(zhì)的變化,已經(jīng)綜合集成了現(xiàn)代數(shù)學(xué)、控制論、圖形圖像學(xué)、人工智能、計算機軟件和藝術(shù)的最新成果。7/29/202278.1.2 計算機動畫的應(yīng)用目前計算機動畫已經(jīng)發(fā)展成一個多種學(xué)科和技術(shù)的綜合領(lǐng)域,以計算機圖形學(xué),特別是實體造型和真實感顯示技術(shù)(消隱、光照模型、表面質(zhì)感等)為基礎(chǔ),涉及到圖像處理技

5、術(shù)、運動控制原理、視頻技術(shù)、藝術(shù)甚至于視覺心理學(xué)、生物學(xué)、機器人學(xué)、人工智能等領(lǐng)域,它以其自身的特點而逐漸成為一門獨立的學(xué)科。7/29/20228計算機動畫的應(yīng)用領(lǐng)域非常寬廣。例如,這些領(lǐng)域包括:動畫片制作,廣告、電影特技、電子游戲、家用娛樂、教學(xué)演示,訓(xùn)練模擬,作戰(zhàn)演習(xí)、產(chǎn)品模擬試驗等。甚至可以說,凡是需要顯示圖像的地方,都或多或少可以使用一些動畫。7/29/202298.1.3 常用動畫軟件1、3D MAX7/29/2022108.1.3 常用動畫軟件2、Maya 7/29/2022118.1.3 常用動畫軟件3、Flash 7/29/2022128.2計算機動畫的分類與原理 7/29/2

6、022138.2.1 計算機動畫的分類計算機動畫可以分為二維動畫與三維動畫,也就是通常所說的平面動畫和3D動畫。根據(jù)運動的控制方式的不同,計算機動畫又可以分為實時動畫和逐幀動畫。7/29/2022148.2.2 計算機動畫的基本原理計算機動畫的基本原理是利用人眼的視覺暫留。把一些連續(xù)的圖片快速順序播放,人就會把他們看成是連續(xù)的動作。每一幅圖片就被稱為一個幀。 7/29/2022158.2.2 計算機動畫的基本原理計算機產(chǎn)生動畫,實質(zhì)上也就是產(chǎn)生出一個個的幀.實時(real-time)動畫: 實時動畫是用算法來實現(xiàn)物體的運動。 逐幀動畫(frame-by-frame);7/29/2022168.

7、2.3 關(guān)鍵幀技術(shù)關(guān)幀技術(shù)實際上也是從傳統(tǒng)動畫片生產(chǎn)過程受啟發(fā)而產(chǎn)生。對一部動畫而言,大部分的幀是連貫的、逐漸變化的,從最初的幀進行到最后的幀。繪制重要的幀。傳統(tǒng)動畫制作者就使用了這種方法提高生產(chǎn)率。主創(chuàng)人員繪制重要的幀,而讓助手繪制那些重要的幀之間的幀。這些重要的幀稱為關(guān)鍵幀,而關(guān)鍵幀之間的幀稱為中間幀。7/29/2022178.2.3 關(guān)鍵幀技術(shù)其中1、2、3是關(guān)鍵幀,而中間的是中間幀。 其中1、2、3是關(guān)鍵幀,而中間的是中間幀。 其中1、2、3是關(guān)鍵幀,而中間的是中間幀。采用關(guān)鍵幀技術(shù),中間幀的生成就由計算機來完成,動畫制作者首先繪制關(guān)鍵的重要畫面,讓計算機使用關(guān)鍵幀的算法來自動生成中間

8、各幀。計算機代替了傳統(tǒng)動畫中繪制中間幀的動畫師。 7/29/202218最常用的關(guān)鍵幀算法就是插值算法。所有影響畫面圖像的參數(shù)都可成為關(guān)鍵幀的參數(shù),如位置、旋轉(zhuǎn)角、紋理的參數(shù)等。例如通過對運動參數(shù)插值,就可以實現(xiàn)對動畫的運動控制,如物體的位置、方向、顏色等的變化,當(dāng)然也可以對多個運動參數(shù)進行組合插值。一般的插值算法有兩種方式:線性插值和非線性插值。線形插值實現(xiàn)平穩(wěn)的過渡效果,非線性插值則可以實現(xiàn)某種特殊的加速度效果。7/29/202219從原理上講,關(guān)鍵幀插值問題可歸結(jié)為參數(shù)插值問題,傳統(tǒng)的插值方法都可應(yīng)用到關(guān)鍵幀方法中。但關(guān)鍵幀插值又與純數(shù)學(xué)的插值不同,有其特殊性。一個好的關(guān)鍵幀插值方法必須

9、能夠產(chǎn)生逼真的運動效果并能給用戶提供方便有效的控制手段。一個特定的運動從空間軌跡來看可能是正確的,但從運動學(xué)或動畫設(shè)計來看可能是錯誤的或者不合適的。用戶必須能夠控制運動的運動學(xué)特性,即通過調(diào)整插值函數(shù)來改變運動的速度和加速度。7/29/2022208.2.4 運動描述在實時動畫中,如何表示運動?就是運動描述。一種最簡單的運動形式是對象的移動,它是指屏幕上一個局部圖像或?qū)ο笤诙S平面上沿著某一固定軌跡作步進運動。 7/29/202221基于圖像的Morph(變形)是一種常用的二維動畫技術(shù)。7/29/2022228.2.5 動畫文件格式1、GIF格式:GIF是圖形交換格式(Graphics Int

10、erchange Format) 2、Flic格式:Flic文件是Autodesk公司在其出品的Autodesk Animator / Animator Pro / 3D Studio等2D/3D動畫制作軟件中采用的彩色動畫文件格式3、AVI格式:Audio Video Interleaved,即音頻視頻交錯格式。 4、DivX格式:這是由MPEG4衍生出的一種視頻編碼(壓縮)標(biāo)準(zhǔn) 5、其他有: RM格式;MOV格式; SWF格式 7/29/2022238.3計算機動畫的生成方法7/29/2022248.3.1 OpenGL動畫設(shè)計概述OpenGL為動畫設(shè)計提供了很好的支持,一些很著名的3D游

11、戲軟件都使用OpenGL作為渲染引擎,。 OpenGL提供了一些函數(shù),支持圖像和場景的移動和旋轉(zhuǎn)等操作,并支持圖像的快速切換輸出。采用動畫技術(shù)與前面所學(xué)的圖形學(xué)基本知識相互配合,可以使用戶很輕易地創(chuàng)建出動畫效果出來。 7/29/2022258.3.2 反彈的方塊程序首先在窗體中繪制一個正方形,讓它在窗口中移動。當(dāng)正方體碰到窗口的邊界就會反彈,沿著另一個方向繼續(xù)移動。 7/29/202226使用glutDisplayFunc(RenderHandler)負(fù)責(zé)繪制一個正方形。正方形移動,要設(shè)法在調(diào)用RenderHandler之前持續(xù)改變正方形的坐標(biāo)。在程序中創(chuàng)建一個循環(huán)完成這個功能,每隔一段時間就

12、改變一下正方形的坐標(biāo),這樣看起來正方形就不斷移動了。7/29/202227GLUT函數(shù)庫中允許注冊一個回調(diào)函數(shù)glutTimerFunc,它允許用戶方便地設(shè)置簡單的動畫序列。這個函數(shù)的參數(shù)包括需要調(diào)用的函數(shù)名和調(diào)用前等待時間。glutTimerFunc(unsigned int millis, void (GLUTCALLBACK *func)(int value), int value);7/29/202228碰撞檢測:/ 碰到窗口左邊或者右邊要更改方向 if(x windowWidth-rectSize | x windowHeight | y 360.0) spin = spin - 3

13、60.0; glutPostRedisplay(); glutTimerFunc(5,TimerFunction, 1);7/29/2022328.3.3 雙緩沖技術(shù)7/29/2022338.3.4 旋轉(zhuǎn)的立體圓環(huán)三維空間的運動就比較麻煩利用已經(jīng)掌握了使用矩陣運算的辦法表達物體的幾何變換實現(xiàn)一個旋轉(zhuǎn)的立體圓環(huán)7/29/2022348.3.4 旋轉(zhuǎn)的立體圓環(huán)自定義的變換矩陣函數(shù)void mkRotationMatrix(float angle, float x, float y, float z, GLMatrix mMatrix)這個函數(shù)負(fù)責(zé)創(chuàng)建一個產(chǎn)生旋轉(zhuǎn)變換的4x4矩陣。7/29/2022358.3.4 旋轉(zhuǎn)的立體圓環(huán)void RenderHandler(void) GLMatrix transformationMatrix; / 存儲變換矩陣 static GLfloat yRot = 0.0f; yRot += 0.5f; / 每次旋轉(zhuǎn)角度增量 glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); mkRotationMatrix(DegToRad(yRot), 1.0f, 1.0f, 0.0f, transformationMatrix); / 創(chuàng)建一個旋轉(zhuǎn)矩陣 tran

溫馨提示

  • 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)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論