●章概述
1.1計算機圖形學的概念
1.2計算機圖形學的應用領域
1.2.1計算機輔助設計
1.2.2計算機藝術
1.2.3虛擬現實技術
1.2.4計算機遊戲
1.2.5計算機輔助教學
1.3計算機圖形學的誕生
1.4真實感圖形算法的進展
1.5MFC繪圖函數【理論1】
1.5.1新建Test項目
1.5.2自定義坐標繫
1.5.3繪圖工具
1.5.4基本繪圖函數
1.6實驗1:鼠標繪制直線
1.7雙緩衝繪圖算法【理論2】
1.8實驗2:小球與客戶區邊界踫撞動畫
1.9本章小結
習題1
第2章直線的光柵化
2.1確定主位移方向
2.2DDA算法
2.3Bresenham算法
2.3.1Bresenham算法原理
2.3.2整數Bresenham算法原理
2.3.3通用整數Bresenham算法原理
【理論3】22
2.3.4顏色線性插值
2.4實驗3:使用Bresenham直線算法繪制顏色漸變三角形
2.5中點算法
2.5.1中點算法原理
2.5.2構造中點誤差項
2.5.3遞推公式
2.5.4中點算法整數化
2.6反走樣技術【理論4】
2.6.1走樣現像
2.6.2算法原理
2.6.3構造距離誤差項
2.反走樣算法
2.7實驗4:反走樣秒表
2.8本章小結
習題2
第3章幾何變換
3.1齊次坐標
3.2二維幾何變換【理論5】
3.2.1二維幾何變換矩陣
3.2.2二維變換形式
3.2.3基本幾何變換矩陣
3.2.4二維復合變換
3.3實驗5:繪制防護欄圖案
3.4三維變換
3.4.1三維變換矩陣
3.4.2三維變換形式
3.5三維基本變換矩陣【理論6】
3.5.1基本幾何變換矩陣
3.5.2三維復合變換
3.6實驗6:旋轉立方體
3.7本章小結
習題3
第4章自由曲面建模
4.1貝塞爾曲線【理論7】
4.1.1貝塞爾曲線的定義
4.1.2三次貝塞爾曲線繪制圓弧
4.1.3貝塞爾曲線的拼接
4.2實驗7:使用三次貝塞爾曲線繪制圓
4.3貝塞爾曲面【理論8】
4.3.1雙三次貝塞爾曲面的定義
4.3.2雙三次貝塞爾曲面遞歸細分
4.3.3雙三次貝塞爾曲面的法向量
4.4實驗8:回轉法構造球面
4.5本章小結
習題4
第5章投影與消隱
5.1正交投影
5.2斜投影【理論9】
5.3實驗9:繪制斜投影雙三次貝塞爾曲面
5.4透視投影【理論10】
5.4.1透視投影坐標繫
5.4.2世界坐標繫到觀察坐標繫的變換
5.4.3觀察坐標繫到屏幕坐標繫的變換
5.4.4透視投影變換
5.4.5透視投影分類
5.5實驗10:制作球體的透視投影動畫
5.6背面剔除算法【理論11】
5.7實驗11:制作球體的消隱動畫
5.8本章小結
習題5
第6章表面模型
6.1三角形的表示法
6.2三角形的著色模式
6.3馬赫帶
邊界像素處理規則
6.5邊標志算法【理論12】
6.5.1基本思想
6.5.2光滑著色模式填充三角形
6.5.3打邊標志
6.6實驗12:繪制RGB立方體
6.7面消隱算法
6.7.1三維屏幕坐標繫
6.7.2計算偽深度
6.8ZBuffer算法【理論13】
6.9實驗13:光滑著色交條動態消隱
6.10畫家算法【理論14】
6.11實驗14:使用畫家算法繪制CMY立方體
6.12本章小結
習題6
第7章光照模型
7.1顏色模型
7.1.1RGB顏色模型
7.1.2HSV顏色模型
7.1.3CMY顏色模型
7.2簡單光照模型【理論15】
7.2.1材質屬性
7.2.2發射光模型
7.2.3環境光模型
7.2.4漫反射光模型
7.2.5鏡面反射光模型
7.2.6光源衰減
7.2.7增加顏色
7.3實驗15:球體GouraudShader三維動畫
7.4光滑著色【理論16】
7.4.1GouraudShader
7.4.2PhongShader
7.5實驗16:圓環PhongShader三維動畫
7.6本章小結
習題7
第8章紋理映射
8.1紋理的定義
8.2紋理的分類
8.3圖像紋理【理論17】
8.3.1讀入紋理
8.3.2處理高光
8.4實驗17:球體圖像紋理映射
8.5幾何紋理【理論18】
8.5.1簡單的凹凸圖
8.5.2映射原理
8.6實驗18:球體正弦函數擾動的凹凸紋理
8.7紋理反走樣
8.8本章小結
習題8
第9章不錯紋理技術
9.1兩步紋理映射【理論19】
9.2實驗19:球面兩步紋理映射算法
9.2環境映射
9.2.1球面映射方法【理論20】
9.2.2立方體映射方法【理論21】
9.3實驗20:球面環境映射算法(球映射方法)
9.4實驗21:圓環環境映射算法(立方體映射方法)
9.5投影紋理映射【理論22】
9.6實驗22:圓環投影紋理映射
9.7三維紋理映射【理論23】
9.8實驗23:木紋球體
9.9Mipmap紋理反走樣技術
9.10本章小結
習題9
附錄A課程設計
A.1項目描述
A.2項目設計
A.3項目編碼
A.4項目總結
項目拓展
參考文獻
本書以真實感圖形為主線,精選23個理論知識點進行重點講解,並給出23個配套實驗,以三維動畫的方式講解3D計算機圖形學的基礎理論與算法。理論部分主要包括雙緩衝動畫、直線光柵化、三維幾何變換、曲面建模、透視投影、三角形填充、深度緩衝消隱、簡單光照模型和紋理映射等內容;實驗部分主要提供三角形填充算法、立方體等多面體建模算法、球體和圓環曲面體建模算法、球體的透視投影算法、立方體的ZBuffer消隱算法和畫家消隱算法、球體的高洛德明暗處理算法、圓環的馮氏明暗處理算法、球體的圖像紋理映射算法和凹凸紋理映射算法等項目。實驗項目使用Visual C++ 2017的中文版MFC框架開發,提供一套完整的三維場景著色源程序代碼。實驗項目還提供嚴格按照算法編寫的工具代碼,包括直線類CLine、幾何變換類CTransform、投影類CProjection、深度緩衝消隱類CZBuffer、光源類CLightSourc等