《計算機圖形學》介紹計算機圖形學的基本原理及常用圖形算法,主要內(nèi)容包括:Visual C++ 6.0簡介、圖形系統(tǒng)、二維圖形生成算法、圖形變換、圖形裁剪、曲線與曲面的生成、消除隱藏線和隱藏面、真實感圖形技術、分形圖形的生成,以及三維植物造型應用實例等,其中三維植物造型應用實例包含作者的部分科研成果。書中附有常用圖形算法的 VC++源程序代碼。每章均配有習題,可指導讀者深入地進行學習,附錄為實驗指導。
《計算機圖形學》可作為計算機及相關專業(yè)本科生的教材,也可以作為研究生的參考書或上機指導書,還適用于計算機圖形學的初學者。
適讀人群 :計算機及相關專業(yè)本科生
詳細介紹三維真實感圖形生成的全部過程及程序設計。結合作者的科研成果,將科研轉(zhuǎn)化為教學內(nèi)容,主要體現(xiàn)在第10章。強調(diào)理論與實踐相結合,動腦與動手相結合,附錄中給出了實驗指導。
計算機圖形學主要研究計算機表示、處理和繪制圖形的原理及算法,是人與計算機之間直觀交互的高效手段。隨著計算機的發(fā)展與應用,計算機圖形學已滲透到各個領域,特別是在動畫、游戲、可視化和虛擬現(xiàn)實等方面應用較廣,是計算機應用的一個主要研究方向。
全國各大院校的計算機專業(yè)大都開設了“計算機圖形學”這門課程,以滿足時代的需求!坝嬎銠C圖形學”的教材在國內(nèi)外也較多,而且教材的內(nèi)容也日益充實,逐漸從純學術性、側(cè)重于理論推導和分析,發(fā)展到增加了許多算法分析、編程指導及程序代碼。本課程建議授課學時為40小時,實驗學時為20小時,并要求先修C語言。本書中所介紹的程序都是在Visual C++ 6.0環(huán)境下調(diào)試運行通過的。
全書共分10章,內(nèi)容包括Visual C++ 6.0簡介(第1章)、圖形系統(tǒng)(第2章)、二維圖形生成算法(第3章)、圖形變換(第4章)、圖形裁剪(第5章)、曲線與曲面的生成(第6章)、消除隱藏線和隱藏面(第7章)、真實感圖形技術(第8章)、分形圖形的生成(第9章)和三維植物造型應用實例(第10章)。
本書力求做到以下幾點。
1)重點介紹計算機圖形學中各類基本圖形的生成算法及程序設計,使讀者學完本教材后能編程實現(xiàn)基本的二維圖形到三維真實感圖形。
2)詳細介紹三維真實感圖形生成的全部過程及程序設計。
3)結合作者的科研成果,將科研轉(zhuǎn)化為教學內(nèi)容,主要體現(xiàn)在第10章。
4)強調(diào)理論與實踐相結合,動腦與動手相結合,附錄中給出了實驗指導。
本書由陸玲、李麗華、宋文琳、桂穎編著,得到東華理工大學重點教材資助。在此感謝學校的領導和老師給予的大力支持和幫助。受水平所限,書中的不足之處在所難免,懇請廣大讀者和專家提出寶貴意見。
出版說明
前言
第1章 Visual C++ 6.0簡介1
1.1 Visual C++開發(fā)環(huán)境窗口1
1.1.1 進入和退出Visual C++集成開發(fā)環(huán)境1
1.1.2 創(chuàng)建單文檔應用程序1
1.1.3 添加簡單程序代碼3
1.2 Visual C++工程及工作區(qū)4
1.2.1 工程4
1.2.2 工作區(qū)4
1.2.3 關鍵類簡介5
1.2.4 圖形設備簡介6
1.3 Visual C++簡單程序設計7
1.3.1 菜單的設計7
1.3.2 對話框的設計9
習題112
第2章 圖形系統(tǒng)13
2.1 計算機圖形學的發(fā)展及應用13
2.1.1 計算機圖形學的發(fā)展簡史13
2.1.2 計算機圖形學在我國的發(fā)展14
2.1.3 計算機圖形學的應用15
2.1.4 計算機圖形學的發(fā)展動向17
2.2 圖形生成硬件設備18
2.2.1 圖形輸入設備18
2.2.2 圖形顯示設備22
2.2.3 硬拷貝輸出設備29
2.3 圖形軟件系統(tǒng)32
2.3.1 圖形軟件的組成32
2.3.2 基本圖形軟件32
習題233
第3章 二維圖形生成算法34
3.1 直線圖形34
3.1.1 數(shù)值微分算法34
3.1.2 中點畫線算法36
3.1.3 Bresenham畫線算法38
3.1.4 直線線寬的處理40
3.2 圓與橢圓圖形41
3.2.1 簡單方程產(chǎn)生圓弧41
3.2.2 中點畫圓算法42
3.2.3 Bresenham畫圓算法44
3.2.4 橢圓算法45
3.3 字符47
3.3.1 點陣字符47
3.3.2 向量字符48
3.4 區(qū)域填充51
3.4.1 種子填充算法52
3.4.2 多邊形域填充58
3.4.3 區(qū)域填充圖案65
3.5 圖形反走樣基礎70
3.5.1 過取樣70
3.5.2 簡單區(qū)域取樣71
習題371
第4章 圖形變換73
4.1 窗口視圖變換73
4.1.1 窗口區(qū)和視圖區(qū)73
4.1.2 窗口區(qū)和視圖區(qū)的坐標變換74
4.2 圖形的幾何變換75
4.2.1 二維圖形的幾何變換75
4.2.2 三維圖形的幾何變換80
4.3 形體的投影變換84
4.3.1 投影變換的分類84
4.3.2 平行投影85
4.3.3 透視投影91
4.3.4 投影空間98
習題499
第5章 圖形裁剪101
5.1 二維裁剪101
5.1.1 Cohen-Sutherland直線裁剪算法101
5.1.2 中點分割算法105
5.1.3 凸多邊形窗口的Cyrus-Beck線裁剪算法106
5.1.4 內(nèi)裁剪與外裁剪108
5.1.5 凹凸多邊形的判定108
5.1.6 凹多邊形的分割算法109
5.1.7 Sutherland-Hodgman多邊形裁剪算法110
5.1.8 Weiler-Atherton多邊形裁剪算法114
5.1.9 字符裁剪115
5.2 三維裁剪116
5.2.1 三維Cohen-Sutherland端點編碼算法116
5.2.2 三維中點分割算法118
5.2.3 三維Cyrus-Beck算法119
習題5120
第6章 曲線與曲面的生成121
6.1 曲線的生成121
6.1.1 常見參數(shù)方程曲線121
6.1.2 Bezier曲線122
6.1.3 B樣條曲線127
6.2 曲面的生成131
6.2.1 旋轉(zhuǎn)曲面參數(shù)方程132
6.2.2 球面132
6.2.3 圓環(huán)面135
6.2.4 圓柱面、圓錐面和圓臺面135
6.2.5 任意曲線旋轉(zhuǎn)面137
6.3 雙線性曲面生成138
6.3.1 平面138
6.3.2 雙線性曲面139
6.4 單線性曲面生成139
6.4.1 柱面139
6.4.2 直紋面140
6.5 Bezier曲面及其拼合141
6.5.1 Bezier曲面141
6.5.2 Bezier曲面的拼合144
6.6 B樣條曲面146
習題6148
第7章 消除隱藏線和隱藏面149
7.1 隱藏線和隱藏面149
7.2 Roberts算法消除隱藏線149
7.3 消除隱藏面154
7.3.1 Z緩沖器算法154
7.3.2 畫家算法157
7.3.3 掃描線算法158
7.3.4 可見面光線追蹤算法159
習題7161
第8章 真實感圖形技術162
8.1 顏色162
8.1.1 色度與三刺激理論162
8.1.2 CIE色度圖163
8.1.3 顏色系統(tǒng)之間的轉(zhuǎn)換165
8.1.4 顏色模型166
8.2 簡單光照模型169
8.3 多邊形表示的明暗處理175
8.3.1 恒定光強的多邊形繪制175
8.3.2 Gouraud明暗處理175
8.3.3 Phong明暗處理177
8.4 紋理表示177
8.4.1 顏色紋理顯示177
8.4.2 凹凸紋理表示180
8.5 透明處理與陰影顯示182
8.5.1 透明處理182
8.5.2 陰影顯示183
8.6 整體光照模型與光線跟蹤算法186
8.6.1 整體光照模型186
8.6.2 Whitted整體光照模型186
8.6.3 光線跟蹤算法187
習題8188
第9章 分形圖形的生成189
9.1 函數(shù)遞歸分形圖形189
9.1.1 Koch曲線189
9.1.2 生成元分形圖形190
9.1.3 樹枝的生成192
9.2 L系統(tǒng)197
9.2.1 二維L系統(tǒng)197
9.2.2 三維L系統(tǒng)202
9.2.3 真實感三維L系統(tǒng)205
9.3 迭代函數(shù)系統(tǒng)208
習題9209
第10章 三維植物造型應用實例210
10.1 參數(shù)曲面變形210
10.2 植物枝干造型211
10.3 植物樹葉造型213
10.3.1 植物葉片造型213
10.3.2 植物葉脈造型219
10.3.3 葉片整體造型實例221
10.4 植物花朵造型225
10.4.1 花瓣的邊界造型225
10.4.2 花瓣的彎曲造型226
10.4.3 花瓣顏色模擬226
10.4.4 花冠的造型229
10.4.5 花朵造型實例229
10.5 植物果實造型238
10.5.1 橢球及其變形參數(shù)方程238
10.5.2 果實形狀的繪制239
10.5.3 果實顏色紋理模擬240
10.5.4 果實造型實例241
10.6 植物生長造型245
10.6.1 百合花開花造型245
10.6.2 南瓜生長造型246
10.6.3 荔枝生長造型247
10.6.4 黃瓜生長造型248
10.7 果實體模造型實例249
10.7.1 西瓜體模造型249
10.7.2 冬棗體模造型249
10.7.3 杏體模造型250
習題10250
附錄 實驗指導251
實驗1 直線與圓的繪制251
實驗2 字符繪制251
實驗3 區(qū)域填充251
實驗4 圖形投影變換252
實驗5 圖形裁剪252
實驗6 曲線的繪制252
實驗7 曲面的繪制253
實驗8 消隱處理253
實驗9 光照模型253
實驗10 綜合處理254
參考文獻