●第1章緒論 1
1.1計算機圖形學的研究內容及其與相關
學科的關繫1
1.1.1什麼是計算機圖形學1
1.1.2計算機圖形學的研究內容1
1.1.3計算機圖形學與其他相關學科的關繫2
1.2計算機圖形學的發展與應用領域3
1.2.1計算機圖形學的發展簡史和發展方向3
1.2.2計算機圖形學的應用領域4
1.3本章小結8
習題18
第2章交互式計算機圖形繫統9
2.1交互式計算機圖形繫統的組成9
2.2圖形輸入設備10
2.2.1一般輸入設備10
2.2.2圖形輸入設備12
2.2.33D圖形輸入設備14
2.3視頻顯示設備15
2.3.1光柵掃描顯示器15
2.3.2光柵掃描顯示繫統20
2.3.3平板顯示器26
2.3.4三維立體顯示技術29
2.3.5新一代顯示器31
2.4圖形繪制設備32
2.4.1繪圖儀32
2.4.2打印機32
2.4.33D打印機32
2.5虛擬現實的動態交互感知設備33
2.5.1數據手套33
2.5.2頭盔顯示器33
2.5.3三維立體眼鏡34
2.5.4三維鼠標34
2.5.5虛擬現實力反饋器34
2.5.6數據衣34
2.6本章小結35
習題235
第3章基本圖形生成算法36
3.1直線的掃描轉換36
3.1.1光柵圖形中點的表示36
3.1.2繪制直線的要求36
3.1.3數值微分分析法(畫線)37
3.1.4中點畫線算法38
3.1.5Bresenham畫線算法40
3.2圓和圓弧的掃描轉換41
3.2.1圓的特性41
3.2.2數值微分分析法(畫圓)42
3.2.3中點畫圓算法43
3.2.4Bresenham畫圓算法45
3.2.5多邊形逼近畫圓算法48
3.3線寬與線型的處理49
3.3.1線寬的處理49
3.3.2線型的處理51
3.4實區域填充算法51
3.4.1實區域填充算法的基本思路51
3.4.2一般多邊形的填充過程及其存在的問題53
3.4.3有序邊表算法55
3.4.4邊填充算法59
3.4.5簡單的種子填充算法60
3.4.6掃描線種子填充算法63
3.5圖形反走樣技術65
3.5.1光柵圖形的走樣現像及其原因65
3.5.2常用反走樣技術66
3.5.3Bresenham區域反走樣算法67
3.6本章小結69
習題369
第4章自由曲線和曲面70
4.1計算機輔助幾何設計概述70
4.1.1計算機輔助幾何設計的研究內容70
4.1.2對形狀的數學描述的要求71
4.1.3自由曲線的一般設計過程和數學表示73
4.1.4自由曲線和曲面的發展歷程75
4.2參數樣條曲線76
4.2.1線性插值與拋物線插值76
4.2.2參數樣條曲線與樣條插值77
4.3Bézier曲線83
4.3.1Bézier曲線的數學表示83
4.3.2Bézier曲線的性質84
4.3.3常用的Bézier曲線86
4.3.4Bézier曲線的拼接88
4.3.5de Casteljau算法的遞推過程89
4.3.6反求Bézier曲線控制點90
4.3.7有理Bézier曲線90
4.4B樣條曲線91
4.4.1問題的提出91
4.4.2B樣條曲線的數學表示92
4.4.3二次B樣條曲線93
4.4.4三次B樣條曲線93
4.4.5B樣條曲線的幾種特殊情況94
4.4.6反求B樣條曲線控制頂點96
4.4.7均勻B樣條曲線、準均勻B樣條曲線與非均勻B樣條曲線102
4.4.8B樣條曲線的離散生成——deBoor分割算法105
4.4.9非均勻有理B樣條曲線106
4.5自由曲面107
4.5.1參數多項式曲面108
4.5.2Bézier曲面109
4.5.3B樣條曲面111
4.6本章小結113
習題4113
第5章圖形變換與裁剪115
5.1窗口視圖變換115
5.2二維圖形幾何變換116
5.2.1二維圖形幾何變換原理116
5.2.2齊次坐標技術118
5.2.3二維組合變換119
5.3三維圖形幾何變換123
5.3.1三維空間坐標繫123
5.3.24種三維圖形幾何變換123
5.3.3三維圖形的組合變換128
5.4投影變換130
5.4.1投影變換的分類130
5.4.2平行投影131
5.4.3透視投影135
5.5二維線段裁剪138
5.5.1Cohen-Sutherland裁剪算法139
5.5.2中點分割裁剪算法140
5.5.3Liang-Barsky裁剪算法141
5.6多邊形的裁剪143
5.6.1Sutherland-Hodgman算法144
5.6.2Weiler-Atherton算法145
5.7三維線段裁剪147
5.7.1平行投影中的三維裁剪148
5.7.2透視投影中的三維裁剪149
5.8本章小結150
習題5151
第6章實體幾何造型基礎152
6.1多面體模型和曲面模型152
6.1.1多面體模型152
6.1.2曲面模型154
6.2線框模型、表面模型和實體模型156
6.3實體幾何造型繫統的發展157
6.4實體的定義與運算158
6.4.1實體的定義158
6.4.2歐拉公式與歐拉運算161
6.4.3實體的正則集合運算162
6.5實體的表示方法164
6.5.1實體的邊界表示164
6.5.2實體的分解表示166
6.5.3實體的構造實體幾何表示168
6.5.4實體的掃描表示169
6.5.5球表示171
6.6本章小結171
習題6171
第7章自然景物模擬與分形藝術172
7.1分形幾何的基礎知識172
7.1.1分形幾何學的產生172
7.1.2分形維數與分形幾何174
7.1.3什麼是分形176
7.2分形圖形的生成方法177
7.2.1隨機插值模型177
7.2.2迭代函數繫統178
7.2.3L繫統183
7.2.4粒子繫統186
7.3Julia集與Mandelbrot集187
7.3.1概述187
7.3.2Julia集與Mandelbrot集188
7.3.3廣義Julia集與Mandelbrot集192
7.4復平面域的Newton-Raphson方法192
7.4.1概述192
7.4.2改進的復平面域的Newton-Raphson方法194
7.5自然景物模擬實例196
7.5.1分形山脈模擬實例196
7.5.2植物形態模擬實例202
7.5.3雨雪現像模擬實例205
7.5.4液態流體模擬實例208
7.5.5氣態流體模擬實例211
7.6本章小結215
習題7215
第8章真實感圖形顯示216
8.1三維圖形顯示的基本流程216
8.2取景變換216
8.3隱藏面的消除220
8.3.1背面剔除算法220
8.3.2畫家算法221
8.3.3Weiler-Atherton算法223
8.3.4BSP樹算法223
8.3.5深度緩衝器算法224
8.3.6掃描線Z緩衝器算法226
8.3.7區間掃描線算法228
8.3.8Warnock算法229
8.3.9光線投射算法230
8.4陰影生成231
8.5基本光照模型232
8.5.1環境光模型233
8.5.2Lambert漫反射模型234
8.5.3鏡面反射和Phong模型235
8.5.4簡單的透明模型237
8.6整體光照模型238
8.7多邊形表示的明暗處理239
8.7.1Gouraud明暗處理239
8.7.2Phong明暗處理241
8.8光線跟蹤技術242
8.8.1光線跟蹤的基本原理242
8.8.2光線跟蹤的求交計算243
8.9紋理細節模擬244
8.9.1紋理分類244
8.9.2顏色紋理244
8.9.3幾何紋理247
8.9.4過程紋理248
8.10本章小結249
習題8249
第9章計算機動畫250
9.1動畫技術的起源、發展與應用250
9.1.1動畫技術的起源與發展250
9.1.2計算機動畫的應用251
9.1.3計算機動畫的未來251
9.2傳統動畫252
9.2.1什麼是動畫252
9.2.2傳統動畫片的制作過程252
9.2.3動作特效與畫面切換方式253
9.3計算機動畫254
9.3.1計算機在動畫中所起的作用254
9.3.2計算機動畫繫統的分類255
9.3.3計算機輔助二維動畫255
9.3.4計算機輔助三維動畫256
9.3.5實時動畫和逐幀動畫256
9.4計算機動畫中的常用技術257
9.4.1關鍵幀技術257
9.4.2樣條驅動技術258
9.4.3Morphing和FFD變形技術259
9.4.4運動捕獲技術260
9.4.5雙緩衝技術260
9.4.6其他動畫技術261
9.5動畫文件格式262
9.5.1GIF格式262
9.5.2FLI/FLC格式262
9.5.3AVI格式262
9.5.4MOV格式262
9.6計算機上的二維動畫軟件簡介263
9.7常用的三維動畫軟件簡介263
9.7.13D Studio與3ds Max263
9.7.2Maya 3D264
9.7.3動畫後期制作軟件264
9.8本章小結265
習題9265
第10章圖形開發環境與編程實例266
10.1OpenGL圖形標準266
10.1.1OpenGL簡介266
10.1.2OpenGL的主要特點和功能266
10.1.3OpenGL的工作機制和流程267
10.1.4OpenGL開發庫的基本組成269
10.2Visual Studio 2017集成開發環境簡介270
10.2.1在VS 2017下配置EasyX圖形庫270
10.2.2在VS 2017下配置OpenGL圖形庫275
10.3Code::Blocks集成開發環境簡介282
10.3.1在Code::Blocks下配置EGE圖形庫282
10.3.2在Code::Blocks下配置OpenGL圖形庫284
10.4編程實例286
10.4.1實時時鐘286
10.4.2帶二維紋理的自動旋轉的立方體293
10.4.3小球自由落體運動模擬297
10.4.4“貪喫蛇”遊戲301
10.4.5智能Flappy Bird遊戲304
參考文獻312