《計算機圖形學——理論與實踐項目化教程》是2020年6月電子工業出版社出版的圖書,作者是孔令德。
基本介紹
- 書名:計算機圖形學——理論與實踐項目化教程
- 作者:孔令德
- 出版社:電子工業出版社
- 出版時間:2020年6月
- 頁數:232 頁
- 開本:16 開
- ISBN:9787121385339
- 字數:390千字
- 版次:01-01
內容簡介,圖書目錄,
內容簡介
本書以真實感圖形為主線,精選23個理論知識點進行重點講解,並給出23個配套實驗,以三維動畫的方式講解3D計算機圖形學的基礎理論與算法。理論部分主要包括雙緩衝動畫、直線光柵化、三維幾何變換、曲面建模、透視投影、三角形填充、深度緩衝消隱、簡單光照模型和紋理映射等內容;實驗部分主要提供三角形填充算法、立方體等多面體建模算法、球體和圓環曲面體建模算法、球體的透視投影算法、立方體的ZBuffer消隱算法和畫家消隱算法、球體的高洛德明暗處理算法、圓環的馮氏明暗處理算法、球體的圖像紋理映射算法和凹凸紋理映射算法等項目。實驗項目使用Visual C++ 2017的中文版MFC框架開發,提供一套完整的三維場景著色源程式代碼。實驗項目還提供嚴格按照算法編寫的工具代碼,包括直線類CLine、幾何變換類CTransform、投影類CProjection、深度緩衝消隱類CZBuffer、光源類CLightSource、材質類CMaterial、光照類CLighting、高洛德著色器GouruaudShader和馮氏著色器PhongShader。
圖書目錄
第1章 概述 1
1.1 計算機圖形學的概念 1
1.2 計算機圖形學的套用領域 1
1.2.1 計算機輔助設計 2
1.2.2 計算機藝術 2
1.2.3 虛擬現實技術 2
1.2.4 計算機遊戲 3
1.2.5 計算機輔助教學 3
1.3 計算機圖形學的誕生 3
1.4 真實感圖形算法的進展 4
1.5 MFC繪圖函式【理論1】 4
1.5.1 新建Test項目 4
1.5.2 自定義坐標系 6
1.5.3 繪圖工具 7
1.5.4 基本繪圖函式 8
1.6 實驗1:滑鼠繪製直線 9
1.7 雙緩衝繪圖算法【理論2】 11
1.8 實驗2:小球與客戶區邊界碰撞動畫 12
1.9 本章小結 17
習題1 18
第2章 直線的光柵化 19
2.1 確定主位移方向 19
2.2 DDA算法 20
2.3 Bresenham算法 21
2.3.1 Bresenham算法原理 21
2.3.2 整數Bresenham算法原理 22
2.3.3 通用整數Bresenham算法原理
【理論3】 22
2.3.4 顏色線性插值 23
2.4 實驗3:使用Bresenham直線算法繪製顏色漸變三角形 23
2.5 中點算法 28
2.5.1 中點算法原理 28
2.5.2 構造中點誤差項 29
2.5.3 遞推公式 29
2.5.4 中點算法整數化 30
2.6 反走樣技術【理論4】 31
2.6.1 走樣現象 31
2.6.2 算法原理 31
2.6.3 構造距離誤差項 32
2.6.4 反走樣算法 32
2.7 實驗4:反走樣秒表 33
2.8 本章小結 35
習題2 36
第3章 幾何變換 37
3.1 齊次坐標 37
3.2 二維幾何變換【理論5】 38
3.2.1 二維幾何變換矩陣 38
3.2.2 二維變換形式 38
3.2.3 基本幾何變換矩陣 38
3.2.4 二維複合變換 43
3.3 實驗5:繪製防護欄圖案 43
3.4 三維變換 50
3.4.1 三維變換矩陣 50
3.4.2 三維變換形式 50
3.5 三維基本變換矩陣【理論6】 51
3.5.1 基本幾何變換矩陣 51
3.5.2 三維複合變換 55
3.6 實驗6:旋轉立方體 56
3.7 本章小結 65
習題3 65
第4章 自由曲面建模 67
4.1 貝塞爾曲線【理論7】 67
4.1.1 貝塞爾曲線的定義 67
4.1.2 三次貝塞爾曲線繪製圓弧 70
4.1.3 貝塞爾曲線的拼接 71
4.2 實驗7:使用三次貝塞爾曲線繪製圓 71
4.3 貝塞爾曲面【理論8】 75
4.3.1 雙三次貝塞爾曲面的定義 76
4.3.2 雙三次貝塞爾曲面遞歸細分 77
4.3.3 雙三次貝塞爾曲面的法向量 78
4.4 實驗8:迴轉法構造球面 78
4.5 本章小結 90
習題4 91
第5章 投影與消隱 95
5.1 正交投影 95
5.2 斜投影【理論9】 96
5.3 實驗9:繪製斜投影雙三次貝塞爾曲面 97
5.4 透視投影【理論10】 100
5.4.1 透視投影坐標系 100
5.4.2 世界坐標繫到觀察坐標系的變換 101
5.4.3 觀察坐標繫到螢幕坐標系的變換 101
5.4.4 透視投影變換 102
5.4.5 透視投影分類 103
5.5 實驗10:製作球體的透視投影動畫 103
5.6 背面剔除算法【理論11】 106
5.7 實驗11:製作球體的消隱動畫 107
5.8 本章小結 111
習題5 111
第6章 表面模型 114
6.1 三角形的表示法 114
6.2 三角形的著色模式 115
6.3 馬赫帶 115
6.4 邊界像素處理規則 116
6.5 邊標誌算法【理論12】 116
6.5.1 基本思想 116
6.5.2 光滑著色模式填充三角形 117
6.5.3 打邊標誌 117
6.6 實驗12:繪製RGB立方體 118
6.7 面消隱算法 124
6.7.1 三維螢幕坐標系 124
6.7.2 計算偽深度 125
6.8 ZBuffer算法【理論13】 125
6.9 實驗13:光滑著色交叉條動態消隱 126
6.10 畫家算法【理論14】 133
6.11 實驗14:使用畫家算法繪製CMY立方體
134
6.12 本章小結 138
習題6 138
第7章 光照模型 140
7.1 顏色模型 140
7.1.1 RGB顏色模型 140
7.1.2 HSV顏色模型 141
7.1.3 CMY顏色模型 142
7.2 簡單光照模型【理論15】 143
7.2.1 材質屬性 144
7.2.2 發射光模型 144
7.2.3 環境光模型 145
7.2.4 漫反射光模型 145
7.2.5 鏡面反射光模型 146
7.2.6 光源衰減 147
7.2.7 增加顏色 148
7.3 實驗15:球體GouraudShader三維動畫 149
7.4 光滑著色【理論16】 155
7.4.1 GouraudShader 155
7.4.2 PhongShader 156
7.5 實驗16:圓環PhongShader三維動畫 157
7.6 本章小結 164
習題7 164
第8章 紋理映射 169
8.1 紋理的定義 170
8.2 紋理的分類 170
8.3 圖像紋理【理論17】 171
8.3.1 讀入紋理 171
8.3.2 處理高光 171
8.4 實驗17:球體圖像紋理映射 172
8.5 幾何紋理【理論18】 179
8.5.1 最簡單的凹凸圖 179
8.5.2 映射原理 179
8.6 實驗18:球體正弦函式擾動的凹凸紋理 181
8.7 紋理反走樣 182
8.8 本章小結 183
習題8 183
第9章 高級紋理技術 188
9.1 兩步紋理映射【理論19】 188
9.2 實驗19:球面兩步紋理映射算法 190
9.2 環境映射 192
9.2.1 球面映射方法【理論20】 192
9.2.2 立方體映射方法【理論21】 193
9.3 實驗20:球面環境映射算法(球映射方法) 195
9.4 實驗21:圓環環境映射算法(立方體映射方法) 196
9.5 投影紋理映射【理論22】 200
9.6 實驗22:圓環投影紋理映射 201
9.7 三維紋理映射【理論23】 203
9.8 實驗23:木紋球體 206
9.9 Mipmap紋理反走樣技術 208
9.10 本章小結 210
習題9 210
附錄A 課程設計 213
A.1 項目描述 213
A.2 項目設計 214
A.3 項目編碼 217
A.4 項目總結 222
A.5 項目拓展 222
參考文獻 227