計算機動畫算法與技術(第3版)( 簡體 字) | |
作者:[美]Rick Parent 著 | 類別:1. -> 程式設計 -> 綜合 |
譯者:劉 祎 | |
出版社:清華大學出版社 | 3dWoo書號: 48959 詢問書籍請說出此書號! 有庫存 NT售價: 595 元 |
出版日:1/1/2018 | |
頁數:452 | |
光碟數:0 | |
站長推薦: | |
印刷:黑白印刷 | 語系: ( 簡體 字 ) |
ISBN:9787302485803 | 加入購物車 │加到我的最愛 (請先登入會員) |
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證, 繁體書的下載亦請直接連絡出版社) | |
第1章概述1
1.1運動感知2 1.2動畫發展簡史3 1.2.1早期設備4 1.2.2早期傳統動畫5 1.2.3迪士尼7 1.2.4其他技術8 1.2.5其他動畫媒介8 1.3動畫制作8 1.3.1動畫原理11 1.3.2電影制作原理12 1.3.3聲音14 1.4計算機動畫制作15 1.4.1計算機動畫制作任務16 1.4.2數字編輯17 1.4.3數字視頻20 1.4.4數字音頻20 1.5計算機動畫簡史21 1.5.1早期行為(1980年之前)21 1.5.2中期階段(20世紀80年代)24 1.5.3新紀元(20世紀80年代以后)25 1.6本章小結29 參考文獻29 第2章技術背景知識33 2.1空間與轉換33 2.1.1顯示管線34 2.1.2齊次坐標和轉換矩陣38 2.1.3復合轉換:轉換矩陣的累積操作39 2.1.4基本的轉換操作39 2.1.5描述任意方向41 2.1.6從矩陣中獲取轉換操作44 2.1.7顯示管線中的轉換描述44 2.1.8誤差46 2.2方向表達49 2.2.1定角表達50 2.2.2歐拉角表達51 2.2.3軸角表達52 2.2.4四元數表達53 2.2.5指數映射表達55 2.3本章小結55 參考文獻55 第3章插值技術57 3.1插值計算57 3.1.1生成函數57 3.1.2綜述60 3.2曲線頂點的移動控制60 3.2.1計算弧長61 3.2.2速度控制73 3.2.3易入/易出74 3.2.4通用距離-時間函數80 3.2.5匹配于位置-時間對的曲線82 3.3方向插值83 3.4與路徑協同工作87 3.4.1路徑移動87 3.4.2基于路徑的方向88 3.4.3基于路徑平滑操作91 3.4.4沿表面確定路徑96 3.4.5路徑計算97 3.4.6綜述98 3.5本章小結98 參考文獻98 第4章插值動畫技術101 4.1關鍵幀系統101 4.2動畫語言104 4.2.1面向設計人員的動畫語言105 4.2.2基于動畫設計的全功能程序語言106 4.2.3關聯變量106 4.2.4圖形語言107 4.2.5基于角色的動畫語言107 4.3對象的變形操作108 4.3.1拾取和拖曳108 4.3.2嵌入空間的變形110 4.4三維形狀插值方案120 4.4.1匹配拓撲結構121 4.4.2星形多面體122 4.4.3軸向切面123 4.4.4球體映射125 4.4.5遞歸細分128 4.5變形效果(二維)130 4.5.1坐標網格方案130 4.5.2特征變形135 4.6本章小結140 參考文獻140 第5章運動鏈接143 5.1層次結構建模144 5.1.1基于層次建模的數據結構145 5.1.2局部坐標框架149 5.2前向動力學150 5.3逆向動力學151 5.3.1通過解析法求解簡單系統152 5.3.2Jacobian方案153 5.3.3逆向動力學的數值方案157 5.3.4綜述163 5.4本章小結163 參考文獻163 第6章運動捕捉165 6.1運動捕捉技術165 6.2圖像處理166 6.3相機校正168 6.4三維位置重構169 6.4.1多標記170 6.4.2多相機171 6.5骨骼匹配171 6.6從運動捕捉系統中輸出內容172 6.7操控運動捕捉數據174 6.7.1信號處理174 6.7.2運動重定位174 6.7.3運動組合175 6.8本章小結175 參考文獻176 第7章物理動畫177 7.1基本物理學知識177 7.2彈性動畫示例180 7.2.1彈性對象180 7.2.2虛擬彈簧182 7.3粒子系統183 7.3.1生成粒子183 7.3.2粒子屬性184 7.3.3粒子消亡184 7.3.4粒子動畫184 7.3.5粒子渲染185 7.3.6粒子系統表達185 7.3.7粒子受力狀態186 7.3.8粒子生命周期186 7.4剛體模擬186 7.4.1自由落體187 7.4.2碰撞體195 7.4.3基于鏈接層次結構的動力學206 7.5布料208 7.5.1褶皺的直接建模209 7.5.2物理建模212 7.6軟約束條件和硬約束條件215 7.6.1能量最小化216 7.6.2空間-時間約束條件218 7.7本章小結220 參考文獻220 第8章流體:液體和氣體223 8.1特定流體模型223 8.1.1水流模型223 8.1.2云彩模型和動畫232 8.1.3火焰建模和動畫237 8.1.4綜述239 8.2計算流體動力學239 8.2.1流體建模的通用解決方案240 8.2.2CFD方程241 8.2.3網格方案244 8.2.4包含均勻粒子流體動力學的粒子方案245 8.3本章小結247 參考文獻248 第9章人物角色的建模和動畫251 9.1虛擬人物表現方式251 9.1.1軀體幾何體的表達方式252 9.1.2幾何體數據采集253 9.1.3幾何體變形254 9.1.4表面細節254 9.1.5人物角色建模過程中的層次方案255 9.2搜索和抓取行為258 9.2.1手臂建模259 9.2.2肩部關節261 9.2.3手部261 9.2.4協調的運動行為263 9.2.5回避障礙物263 9.2.6受力狀態264 9.3行走效果265 9.3.1運動機制266 9.3.2行進過程中的動力學269 9.3.3基于動力學的真實運動行為272 9.3.4前向動力學控制273 9.3.5綜述273 9.4覆蓋特征274 9.4.1布料和服裝274 9.4.2頭發274 9.5本章小結276 參考文獻277 第10章面部動畫283 10.1面部結構283 10.1.1解剖學結構283 10.1.2面部行為編碼系統285 10.2面部模型286 10.2.1創建連續的表面模型287 10.2.2紋理292 10.3臉部的動畫效果293 10.3.1參數化模型293 10.3.2彎曲形狀294 10.3.3肌肉模型295 10.3.4面部表情297 10.3.5綜述298 10.4口型動畫298 10.4.1語音發聲298 10.4.2音素299 10.4.3協同發音300 10.4.4韻律學301 10.5本章小結301 參考文獻301 第11章建模行為305 11.1原始行為307 11.1.1群集行為307 11.1.2捕食行為316 11.2環境認知316 11.2.1視覺317 11.2.2記憶318 11.3智能行為建模318 11.3.1自主行為319 11.3.2表達方式和姿態320 11.3.3個性化建模:個性和情感狀態321 11.4群體管理322 11.4.1群體行為323 11.4.2內部結構323 11.4.3群體控制324 11.4.4n2復雜度管理324 11.4.5外觀效果325 11.5本章小結325 參考文獻325 第12章特殊動畫模型329 12.1隱式表面329 12.1.1基本的隱式表面方程329 12.1.2基于隱式定義對象的動畫效果331 12.1.3碰撞檢測332 12.1.4基于碰撞的隱式表面變形332 12.1.5LevelSet法334 12.1.6綜述335 12.2植物335 12.2.1植物學簡介336 12.2.2L系統337 12.2.3綜述343 12.3表面細分344 12.4本章小結345 參考文獻345 附錄A渲染技術349 A.1雙緩沖區機制349 A.2合成機制350 A.2.1忽略像素深度信息的合成技術351 A.2.2基于像素深度信息的合成技術355 A.3顯示運動對象:運動模糊357 A.4投影式陰影359 A.5廣告牌和替身圖技術363 A.6小結364 參考文獻364 附錄B背景知識和技術367 B.1向量和矩陣367 B.1.1逆矩陣和線性方程求解368 B.1.2奇值分解法374 B.2幾何計算374 B.2.1向量分量375 B.2.2向量長度375 B.2.3兩向量的點和計算375 B.2.4兩向量的叉積計算376 B.2.5向量和矩陣計算法則377 B.2.6三維空間內兩直線間的最近點380 B.2.7面積計算381 B.2.8余弦定理382 B.2.9質心坐標383 B.2.10計算包圍邊界形狀383 B.3變換操作396 B.3.1基于向量-矩陣乘法的頂點變換396 B.3.2基于向量-矩陣乘法的向量變換397 B.3.3軸-角旋轉398 B.3.4四元數398 B.4基于鏈接附肢的Denavit-Hartenberg表現形式400 B.4.1Denavit-Hartenberg表示法400 B.4.2簡單示例403 B.4.3添加球狀關節403 B.4.4構建坐標系405 B.5插值計算和近似曲線405 B.5.1方程:基本術語405 B.5.2簡單的線性插值計算:幾何體和代數形式407 B.5.3基于弧長的參數化操作408 B.5.4導數計算408 B.5.5Hermite插值計算408 B.5.6Catmull-Rom樣條409 B.5.74頂點形式412 B.5.8混合拋物線412 B.5.9Bezier插值/逼近方案413 B.5.10基于DeCasteljau構造方案的Bezier曲線414 B.5.11張力、連續性以及偏移控制414 B.5.12B樣條417 B.5.13曲線與頂點集合之間的匹配417 B.6隨機性418 B.6.1噪聲419 B.6.2擾動效果421 B.6.3隨機數生成器422 B.7物理初探423 B.7.1位置、速度和加速度423 B.7.2圓周運動424 B.7.3牛頓運動定律425 B.7.4慣性和慣性參考坐標系425 B.7.5質心426 B.7.6轉矩426 B.7.7平衡狀態:平衡作用力426 B.7.8重力427 B.7.9向心力427 B.7.10接觸力427 B.7.11離心力429 B.7.12功和勢能429 B.7.13動能429 B.7.14能量守恒430 B.7.15動量守恒430 B.7.16振蕩運動430 B.7.17阻尼機制431 B.7.18角動量431 B.7.19慣性張量431 B.8數值積分432 B.8.1基于弧長的函數積分計算433 B.8.2更新函數值434 B.8.3更新位置數據437 B.9優化技術438 B.9.1解析法439 B.9.2數值法439 B.10電影技術標準441 B.10.1模擬技術441 B.10.2數字世界445 B.11相機校正448 參考文獻451 本書詳細闡述了與計算機動畫算法相關的高效解決方案及相應的數據結構和算法,主要包括技術背景知識、插值技術、插值動畫技術、運動鏈接、運動捕捉、物理動畫、流體、人物角色的建模和動畫、面部動畫、建模行為以及特殊動畫模型等內容。此外,本書還提供了相應的算法、代碼以及偽代碼,以幫助讀者進一步理解相關方案的實現過程。
本書適合作為高等院校計算機及相關專業的教材和教學參考書,也可作為相關開發人員的自學教材和參考手冊。 總述
針對定義和生成圖形對象,即計算機動畫,本書主要講述對應的計算機算法以及程序設計技術,且集中講解三維(3D)領域中的計算機動畫內容。因此,本書適用于計算機科學與技術方向的高年級本科生以及研究生。而對于那些期望學習計算機動畫程序設計的程序員、使用軟件工具生成計算機動畫(并嘗試理解動畫制作軟件中的底層計算問題)的制作人員,本書也將大有裨益。 本書的出版應是意料之中的事情—近年來,計算機動畫獲得了長足的發展,且廣泛地出現于科研領域、學術領域,并帶來了一定的就業機會,甚至一些人還將其視為一項終生愛好。 目前,影片大多采用數字方式存儲,并引入了數字特效(通常稱作計算機圖像合成,簡稱為CGI)。來自互聯網電影數據庫2007年6月的一份資料顯示,前10名的美國影片(數據源于北美電影票房排行榜)均廣泛地采用了CGI技術。 不難發現,計算機動畫影片已具有相當的票房號召力,根據不完全統計,每5部上榜電影中就有1部為計算機動畫電影。2001—2006年,數字圖像技術領域出現了27位“科技成就獎”與“科學和工程獎”獲得者。每年,計算機動畫還為游戲產業創造了不低于70億美金的收益。當前,功能強大的動畫軟件、低廉的CPU價格以及高存儲量的家庭數字視頻錄像設備均使得桌面級計算機動畫成為可能。大多數教育部門(如計算機科學系)均開設了與計算機動畫相關的課程(以及相關的藝術課程,進而培養數字藝術家熟練地使用現有的計算機動畫軟件)。在計算機動畫算法方面,學術會議以及相關期刊也記錄了業界的發展現況。 本書對于實際操作過程中的相關問題均有所描述,并提供了可行性技術以及相對直觀的實現方案。除了某些研究方向之外,本書盡量避免純理論方式的討論。本書中的部分示例程序為完整的可執行代碼,此類代碼采用C語言編寫,復制、編譯以及運行之后,即可生成算法結果;其他程序設計示例則采用類C偽代碼加以編寫,并可在適當的時候轉換為可執行工作代碼。這里,采用C語言編寫代碼的主要原因是,該語言包含了其他語言(如C++語言和Java語言)的基礎特性,并可彰顯算法的逐步操作過程。本書附錄包含了與此相關的基礎內容,初學者可獲取其中的有用內容以及實現過程中的特定算法。 本書并不打算詳細介紹當今流行的動畫軟件包的使用方法(當然,也不排除針對某一類特定技術討論軟件的使用,這將有助于深入理解底層計算過程),也不會具體闡述計算機動畫理論、計算機動畫美學知識、動畫設計過程中的美學問題、動畫作品制作過程中的細節問題以及計算機輔助動畫(此類問題是指傳統手繪動畫的計算機化操作,多數時候,該問題包含一套自身的規則集,參見結尾處參考文獻1、2),而是主要討論全三維計算機動畫及其算法技術,動畫制作人員和程序員可藉此以有趣的方式移動對象。盡管本書重點闡述3D技術,但2D技術依然十分重要。 計算機動畫程序設計的基本目標是選擇適當的技術和設計工具,以使動畫設計人員表達豐富的細節,進而確定期望的內容;同時,相關技術和工具還應具備強大的功能,以使動畫設計人員從枯燥的細節設定中解脫出來。然而,針對每一位動畫設計人員、每一部動畫作品,甚至是一部動畫作品中的各個場景,通常不存在一類全功能的軟件工具。這里,特定的動畫工具往往取決于期望中的制作效果以及制作人員的控制過程。根據不同的模擬內容,動畫藝術作品常需要使用不同的軟件工具,因此,各類處理方案也層出不窮。 本書組織方式 第1章綜合探討了與計算機動畫相關的問題,包括感知、手繪動畫技術發展史、動畫作品的測算方式以及計算機動畫發展簡史,相關內容提供了動畫藝術與制作的廣闊視角。 第2章講述了必要的背景知識以及與動畫相關的計算機圖形學內容,并對計算機圖形學中的計算問題進行了回顧,為后續學習打下堅實的基礎,其中包括對渲染管線的回顧以及對轉換順序的討論,以降低一系列計算所產生的舍入誤差。另外,本章還講解了基于方向表達的四元數形式。如果讀者具有豐富的計算機圖形學知識,則可跳過相關知識點,甚至整章內容。 第3章和第4章重點介紹插值技術。其中,第3章介紹與插值技術相關的基礎知識,包括時間-空間曲線、曲線的弧長參數化操作以及曲線上的速度控制,隨后還討論了基于四元數的方向插值計算,且各類方案均與路徑結合使用。第4章闡述了基于插值方案的動畫技術,包括關鍵幀插值、動畫語言以及形狀插值。 第5章和第6章主要涉及關節型角色的動力學控制問題。其中,第5章討論鏈接附肢的動力學方案,且同時涉及正向動力學和逆向動力學,并對正向動力學專門加以介紹。第6章討論與運動捕捉(mocap)相關的基礎內容,包括標記的處理方式以及運動捕捉結果數據的調校過程。 第7章和第8章討論與動畫相關的、真實世界的建模處理過程。其中,第7章探討基于物理的動畫、彈簧-阻尼系統、粒子系統、剛體動力學以及強制型約束條件。第8章介紹流體建模和動畫技術,且分別論述了流體宏觀特征處理模型以及計算流體動力學。 第9~11章討論人類和其他動物的動畫行為。其中,第9章主要介紹角色動畫,包括建模操作、抵達行為、行走行為、布料以及頭發。第10章則探討面部動畫,包括面部建模、表情以及口型動畫。第11章討論行為動畫,包括群集行為、捕食者模型以及群體行為。 第12章闡述了某些特定模型,包括隱式表面、L系統以及表面細分操作。 附錄A展示了與計算機動畫相關的、圖像生成過程中所涉及的渲染問題,如雙緩沖機制、合成操作、運動模糊以及陰影效果。這里,假設讀者已了解幀緩沖區、z緩沖顯示算法以及抗鋸齒操作等內容。 附錄B講述了原理型知識點,包括插值計算和逼近技術、向量代數和矩陣、四元數演示代碼、物理學第一定律、數值技術以及電影、視頻、圖像格式屬性。 本書網站提供了相關的圖像、示例代碼以及角色。 關于作者 Rick Parent現任俄亥俄州立大學(OSU)計算機科學與工程系教授一職。在學生時期,Rick就開始在俄亥俄州立大學的計算機圖形學研發中心(CGRG)工作,并接受Charles Csuri的悉心指導。1977年,他獲得計算機和信息科學(CIS)博士學位,主攻方向為人工智能。在隨后的3年中,他以助理研究員的身份工作于CGRG,并逐步晉升為副主管。1980年,他與其他人共同創建了The Computer Animation Company并蒞任主席一職。1985年,他再次加入俄亥俄州立大學的CIS系(現稱為計算機科學與工程系)。Rick的研究興趣涉及計算機動畫的方方面面,但主攻方向為人物角色動畫。目前,Rick的研究課題包括面部動畫以及通過模型技術跟蹤視頻中的人物角色。 致謝 本書的出版得到了多方人士的鼎力支持。這里,首先要感謝我的妻子Arlene,她的奉獻精神使得本書得以如期出版。作為本書的第一位讀者,在她的幫助下,本書的可讀性獲得了極大的提升。 總的來說,感謝那些我有幸認識以及共事多年的學生們,他們對這個領域的共同興趣、知識以及對這個領域的熱情也使我受益匪淺,在此也向Doug Roble、John Chadwick、Dave Haumann、Dave Ebert、Matt Lewis、Karan Singh、teve May、James Hahn、Ferdi Scheepers、Dave Miller、Beth Hofer、Madhavi Muppala、Domin Lee、Kevin Rogers、Brent Watkins、Brad Winemiller、Meg Geroch、Lawson Wade、Arun Somasundaram、Scott King、Scott (Slim) Whitman表示感謝(如有遺漏敬請原諒)。 我還要感謝那些多年來為本書提供反饋意見(無論是好是壞)的讀者,特別是科羅拉多州立大學的Philip Schlup博士、卡爾加里大學的Brian Wyvill博士,以及華沙大學的Przemyslaw Kiciak博士。 另外,這里還要感謝俄亥俄州立大學計算機科學與工程系(Xiaodong Zhang)、藝術與設計高級計算中心(Maria Palazzi)以及Morgan Kaufmann出版社的全體工作人員。 參考文獻 1. All Time Grossing Movies. In: The Internet Movie Database (IMDB). IMDb.com, Inc 2012; http://www.imdb.com/boxoffice/alltimegross; 2012; Web. 26 March 2012. 2. Scientific and Technical Awards. In: Academy of Motion Picture Arts and Sciences. 2012; http://www.oscars.org/awards/scitech/index.html; 2012; Web. 26 March 2012. 3. Industry facts. In: The Entertainment Software Association (ESA). 2012; http://www.theesa. com/facts/index.asp; 2012; Web. 26 March 2012. 4. Catmull E. The Problems of Computer-Assisted Animation. In: 1978; 348-353. Computer Graphics. vol. 12(3). August Atlanta, Ga.;. 5. Levoy M. A Color Animation System Based on the Multiplane Technique. In: George J, ed. July 1977; 65-71. Computer Graphics. vol 11(2). San Jose, Calif. |