本書以數(shù)字媒體應用開發(fā)為背景,介紹了使用OpenGL、DirectX、Unity3d等應用開發(fā)工具所必需的理論知識。本書主要有:計算機圖形學的基本原理,包括圖形建模、圖形變換、光柵化、裁剪、消隱、曲線曲面理論、基本光照模型、紋理映射等;數(shù)字圖像的基礎知識,包括圖像幾何變換及圖像處理基本算法;應用建模技術(shù),包括骨骼模型、水面模型、布料模型等。本書特點是從數(shù)字媒體開發(fā)工具出發(fā),聚焦于游戲、動漫及虛擬現(xiàn)實等數(shù)字媒體技術(shù)的基礎知識。 本書適合作為高等院校數(shù)字媒體、動畫類等相關(guān)專業(yè)教學用書,也可作為廣大讀者認識和學習數(shù)字動畫知識的參考書,對于希望系統(tǒng)學習和研究動畫的人員具有參考價值。
從20世紀50年代開始,世界進入了計算機時代,計算機開始應用于工業(yè)領域。在初的應用中,圖形圖像就是主要的應用方向,如機械設計(CAD)和電視信號編碼等。圖形學科和圖像學科也在計算機應用的早期就已經(jīng)建立起來并快速發(fā)展,對圖形圖像的應用建立了理論基礎。在圖形圖像學科研究及應用的發(fā)展過程中,建立了較完整的理論體系和技術(shù)標準,為應用的普及建立了技術(shù)基礎。隨著時代的發(fā)展,計算機的應用逐漸從工業(yè)領域普及到了各個領域,特別開拓了以游戲、虛擬現(xiàn)實為代表的數(shù)字媒體領域,對社會文化的進步起到了引領作用。當今社會,從產(chǎn)業(yè)的規(guī)模、從業(yè)人員、消費群體等多方面看,可以說已經(jīng)進入了數(shù)字媒體時代。
圖形學科和圖像學科也是一個復合學科,包括多個細分領域,如算法、設備、交互、傳輸、軟件設計等。在應用方面,以計算機動畫、動漫、數(shù)字電影、電子游戲、虛擬現(xiàn)實為代表的數(shù)字媒體也作為一個細分領域,占據(jù)了突出的地位,F(xiàn)今,數(shù)字媒體應用已經(jīng)擁有數(shù)十億使用者,這樣的應用規(guī)模也同時推動著數(shù)字媒體技術(shù)的發(fā)展,各種新技術(shù)、新算法不斷涌現(xiàn),可以預見的是,在將來,圖形圖像技術(shù)及應用還會發(fā)展到更新的高度。
數(shù)字媒體領域既包括設計,也包括技術(shù)工作。其特點一般是基于某種應用軟件或應用平臺進行應用的設計開發(fā),過程中必然會涉及圖形圖像的基礎原理和算法,掌握相關(guān)的知識是必要的。有關(guān)計算機圖形圖像理論的教材有很多種,但如果以數(shù)字媒體開發(fā)與應用教學為目標,會發(fā)現(xiàn)合適的教材較少。多數(shù)教材講解基礎的算法、原理,而不能和應用實踐聯(lián)系起來。還有一些教材是從圖形接口如DirectX等出發(fā),脫離基礎,不易理解,還容易陷入編程細節(jié)中。面對數(shù)字媒體專業(yè),特別是設計方向的數(shù)字媒體專業(yè),圖形圖像理論應著眼于以下目標:
(1)理解圖形圖像的數(shù)字構(gòu)成;
(2)理解主流設計工具(如OpenGL、DirectX、Unity3d等)所涉及的概念和原理;
(3)掌握數(shù)字媒體開發(fā)中常用的圖形圖像算法,如圖形變換、網(wǎng)格面片計算、圖形著色、色彩計算及圖像幾何處理等;
(4)了解當前圖形圖像領域的技術(shù)發(fā)展,如先進的渲染技術(shù)、GPU計算等。
教材的主旨是讓學生具備基礎的、有實用價值的圖形圖像知識,在學習使用數(shù)字媒體設計工具時,容易理解其各種功能的作用和制約。在進行應用開發(fā)編程時,能夠設計技術(shù)路線,對技術(shù)步驟有較準確的把握。教學應該始終圍繞數(shù)字媒體設計開發(fā)工具(3ds Max、Photoshop、Unity、HTML5等)進行。
本書共包括10章:第1章到第8章為圖形圖像知識的基礎部分;第9、10章為提高部分,這部分介紹了一些較高級的圖形學算法,對學習者起到引領和提升作用。第1章為緒論;第2章介紹了圖形學的基本概念和體系;第3章介紹了圖形圖像的數(shù)字化表達方法;第4章介紹了圖形變換原理,包括基本變換、組合變換、攝像機變換、視窗變換等基本理論;第5章介紹了裁剪、消隱、光柵化等圖形處理的基礎算法;第6章介紹了曲線曲面建模的基本數(shù)學理論,包括Bezier曲線曲面和B樣條曲線曲面的數(shù)學原理;第7章介紹了色彩計算的幾種基礎算法,包括光照計算和紋理映射技術(shù);第8章介紹了圖像技術(shù)的一些基礎算法,包括圖像的表示、圖像變換、常用圖像特效算法;第9章介紹了幾種常見的動畫算法,包括骨骼動畫算法、布料動畫算法、粒子動畫算法、水面動畫算法等;第10章以NVIDIA芯片為代表介紹了目前主流的GPU渲染技術(shù);附錄為實驗指導。
由于編者水平有限、時間倉促,本書難免在內(nèi)容選材和敘述上有不妥和疏漏之處,竭誠歡迎廣大讀者批評指正。
編 者
2020年11月
第1章緒論1
1.1計算機圖形學研究內(nèi)容1
1.2計算機圖形學發(fā)展及應用3
1.3標準化圖形庫OpenGL簡介6
1.4數(shù)字影視動漫領域應用8
習題12
第2章向量和矩陣數(shù)學基礎13
2.1笛卡爾坐標系13
2.2向量14
2.2.1向量的概念14
2.2.2向量加法16
2.2.3向量乘法16
2.3矩陣18
2.3.1相關(guān)概念18
2.3.2矩陣運算規(guī)則20
習題24
第3章圖形圖像的數(shù)字構(gòu)成26
3.1圖形的幾何模型27
3.2三角圖元及三角形網(wǎng)格32
3.3點陣圖像的構(gòu)成38
習題43
第4章三維空間坐標變換44
4.1變換分類和矩陣變換原理44
4.2基本幾何變換46
4.2.1平移變換46
4.2.2旋轉(zhuǎn)變換47
4.2.3縮放變換48
4.3組合變換和層級運動49
4.3.1組合變換49
4.3.2層級變換51
數(shù)字媒體設計圖形圖像理論基礎目錄4.4投影變換52
4.4.1平行投影變換矩陣53
4.4.2透視投影變換矩陣54
4.5視窗變換55
4.6坐標系變換和攝像機坐標系58
4.7空間轉(zhuǎn)動的四元數(shù)表示法61
4.8Unity3d中的坐標系和攝像機63
4.8.1坐標系63
4.8.2攝像機和視口65
4.8.3變換流程66
4.8.4幾何變換工具Transform67
4.8.5攝像機變換工具Camera67
習題68
第5章圖形裁剪、消隱和光柵化69
5.1圖形的窗口裁剪69
5.1.1點的裁剪70
5.1.2線段的裁剪:Cohen-Sutherland區(qū)域編碼算法70
5.1.3多邊形裁剪:Sutherland-Hodgeman逐邊裁剪算法72
5.2圖形光柵化73
5.2.1點的光柵化74
5.2.2線段的光柵化:DDA算法74
5.2.3線段的光柵化:Bresenham算法74
5.2.4圓的光柵化:Bresenham算法76
5.2.5多邊形的光柵化:掃描線填充算法77
5.2.6多邊形的光柵化:種子填充算法80
5.3圖形消隱81
5.3.1凸多面體消隱82
5.3.2畫家消隱算法82
5.3.3Z緩存算法85
5.3.4光線投射算法85
習題87
第6章曲線曲面建模技術(shù)88
6.1曲線曲面的數(shù)學方法88