算機圖形學基礎教程

算機圖形學基礎教程

《計算機圖形學基礎教程》是2008年清華大學出版社出版的圖書。

基本信息

版權資訊

書 名: 計算機圖形學基礎


作 者:孔令德
出版社清華大學出版社
出版時間: 2008
ISBN: 9787302170822
開本: 16
定價: 25.00 元

內容簡介

本書採用面向對象語言Visual C++ 6.0的MFC編程環境作為開發平台,系統講解“基本圖形的光柵化”、“二維變換和裁剪”、“三維變換和投影”、“自由曲線和曲面”、“分形幾何”、“動態消隱”、“真實感圖形”的實現原理和算法。
本書原理講解透徹、知識點覆蓋全面,從基於光柵掃描顯示器的像素點光柵化開始、講解了反走樣技術、三維坐標變換、透視投影變換、Z-buffer消隱算法、帶有材質和紋理的光照模型原理等內容。通過本書的學習,讀者可以製作出具有光照和紋理的動態消隱的三維旋轉立體,從而實現對圖形的互動式設計。
本書配套的《計算機圖形學上機實踐教程(Visual C++版)》給出了和本書章節相對應的源程式實現。
本書不僅可以作為大學本科生教材,也可作為實訓教材,還可以作為計算機圖形學愛好者的自學教材。

目錄

第一章.......................................................................................................................... 1
1.1 計算機圖形學的套用領域................................................................................. 1
1.1.1 計算機輔助設計(CAD/CAM)............................................................................ 1
1.1.2 計算機藝術(CA)......................................................................................... 2
1.1.3 虛擬現實(VR)............................................................................................. 3
1.1.4 計算機輔助教學(CAI)................................................................................. 4
1.2 計算機圖形學的概念........................................................................................ 4
1.3 計算機圖形學的相關學科.................................................................................. 5
1.4 計算機圖形學的確立和發展............................................................................... 6
1.5 圖形顯示器的發展及其工作原理........................................................................ 8
1.5.1 陰極射線管..................................................................................................... 8
1.5.2 隨機掃描顯示器.............................................................................................. 9
1.5.3 直視儲存管顯示器.......................................................................................... 9
1.5.4 光柵掃描顯示器............................................................................................ 10
1.5.5 液晶顯示器................................................................................................... 16
1.5.6 等離子顯示器............................................................................................... 17
1.5.7 三維顯示器................................................................................................... 17
1.6 圖形軟體標準的形成........................................................................................ 19
1.7 計算機圖形學的最新技術................................................................................. 20
1.7.1 互動技術...................................................................................................... 20
1.7.2 造型技術...................................................................................................... 20
1.7.3 真實感圖形顯示技術..................................................................................... 20
1.8 本章小結......................................................................................................... 21
1.9 習題................................................................................................................ 21
第二章.......................................................................................................................... 22
2.1 面向對象程式設計基礎................................................................................... 22
2.1.1 類和對象...................................................................................................... 22
2.1.2 構造函式和析構函式..................................................................................... 23
2.1.3 對象的動態建立和釋放................................................................................. 25
2.1.4 繼承與派生................................................................................................... 27
2.2 MFC上機操作步驟........................................................................................ 29
2.3 基本繪圖函式.................................................................................................. 32
2.3.1 CDC類結構和GDI對象................................................................................. 32
2.3.2 映射模式...................................................................................................... 33
2.3.3 CDC類的主要繪圖成員函式.......................................................................... 35
2.3.4 設備上下文的調用和釋放.............................................................................. 48
2.3.5 VC++繪製圖形的幾種方法........................................................................... 48
2.4 本章小結......................................................................................................... 50
2.5 習題................................................................................................................ 50
第三章.......................................................................................................................... 52
3.1 直線的光柵化.................................................................................................. 52
3.1.1 算法原理...................................................................................................... 53
3.1.2 構造中點偏差判別式..................................................................................... 54
3.1.3 遞推公式...................................................................................................... 54
3.2 圓的光柵化...................................................................................................... 55
3.2.1 算法原理...................................................................................................... 56
3.2.2 構造中點偏差判別式..................................................................................... 58
3.2.3 遞推公式...................................................................................................... 58
3.3 橢圓的光柵化................................................................................................ 60
3.3.1 原理............................................................................................................. 60
3.3.2 構造上半部分Ⅰ中點偏差判別式................................................................... 62
3.3.3 上半部分Ⅰ的遞推公式................................................................................. 63
3.3.4 構造下半部分Ⅱ中點偏差判別式................................................................... 64
3.3.5 下半部分Ⅱ的遞推公式................................................................................. 65
3.4 反走樣技術...................................................................................................... 67
3.5 直線距離加權反走樣算法................................................................................. 69
3.5.1 算法原理...................................................................................................... 69
3.5.2 構造距離判別式............................................................................................ 71
3.5.3 計算機化...................................................................................................... 71
3.6 本章小結......................................................................................................... 72
3.7 習題................................................................................................................ 72
第四章.......................................................................................................................... 74
4.1 實面積圖形的概念......................................................................................... 74
4.1.1 多邊形的定義............................................................................................... 75
4.1.2 多邊形的表示............................................................................................... 76
4.1.3 多邊形的填充............................................................................................... 77
4.1.4 區域填充...................................................................................................... 77
4.2 有效邊表填充算法........................................................................................... 77
4.2.1 填充原理...................................................................................................... 77
4.2.2 邊界像素的處理原則..................................................................................... 78
4.2.3 有效邊和有效邊表........................................................................................ 80
4.2.4 邊表............................................................................................................. 84
4.3 邊緣填充算法.................................................................................................. 86
4.3.1 填充原理...................................................................................................... 86
4.3.2 填充過程...................................................................................................... 86
4.4 區域填充算法.................................................................................................. 89
4.4.1 填充原理...................................................................................................... 89
4.4.2 四鄰接點和八鄰接點..................................................................................... 89
4.4.3 四連通域和八連通域..................................................................................... 90
4.4.3 四鄰接點填充算法和八鄰接點填充算法......................................................... 91
4.5 本章小結......................................................................................................... 92
4.6 習題................................................................................................................ 92
第五章.......................................................................................................................... 95
5.1 圖形幾何變換基礎........................................................................................... 95
5.1.1 規範化齊次坐標............................................................................................ 95
5.1.2 矩陣相乘...................................................................................................... 95
5.1.3 二維變換矩陣............................................................................................... 96
5.1.4 二維幾何變換............................................................................................... 97
5.2 二維圖形基本幾何變換矩陣............................................................................. 97
5.2.1 平移變換矩陣............................................................................................... 97
5.2.2 比例變換矩陣............................................................................................... 98
5.2.3 旋轉變換矩陣............................................................................................... 99
5.2.4 反射變換矩陣.............................................................................................. 100
5.2.5 錯切變換矩陣.............................................................................................. 101
5.3二維複合變換................................................................................................. 102
5.3.1複合變換原理............................................................................................... 102
5.3.2 相對於任一參考點的二維幾何變換.............................................................. 103
5.3.3 相對於任意方向的二維幾何變換.................................................................. 104
5.4 二維圖形裁剪................................................................................................ 106
5.4.1 圖形學中常用的坐標系................................................................................ 106
5.4.2 視窗和視區及窗視變換................................................................................ 108
5.4.3 窗視變換矩陣.............................................................................................. 108
5.5 Cohen-Sutherland直線裁剪算法....................................................................... 110
5.5.1 編碼原理..................................................................................................... 110
5.5.2 裁剪步驟..................................................................................................... 111
5.5.3 交點計算公式.............................................................................................. 111
5.6中點分割直線段裁剪算法................................................................................ 111
5.6.1 中點分割算法原理....................................................................................... 111
5.6.2 中點計算公式.............................................................................................. 112
5.7 梁友棟-Barsky直線段裁剪算法..................................................................... 112
5.7.1梁友棟算法原理........................................................................................... 112
5.7.2 算法分析..................................................................................................... 113
5.7.3 算法的幾何意義.......................................................................................... 113
5.8 本章小結........................................................................................................ 115
5.9 習題............................................................................................................... 116
第六章........................................................................................................................ 118
6.1三維幾何變換.................................................................................................. 118
6.1.1 三維變換矩陣.............................................................................................. 118
6.1.2 三維幾何變換.............................................................................................. 119
6.2 三維基本幾何變換矩陣................................................................................... 119
6.2.1 平移變換..................................................................................................... 120
6.2.2 比例變換..................................................................................................... 120
6.2.3 旋轉變換..................................................................................................... 120
6.2.4 反射變換..................................................................................................... 121
6.2.5 錯切變換..................................................................................................... 123
6.3 三維複合變換................................................................................................ 124
6.4 投影變換....................................................................................................... 127
6.4.1 三視圖........................................................................................................ 127
6.4.2 斜等側圖..................................................................................................... 131
6.5 透視變換....................................................................................................... 133
6.5.1 透視變換坐標系.......................................................................................... 134
6.5.2 坐標系變換................................................................................................. 135
6.5.3用戶坐標繫到觀察坐標系的變換................................................................... 135
6.5.4 觀察坐標繫到螢幕坐標系的變換.................................................................. 139
6.5.3 透視投影分類.............................................................................................. 141
6.6 本章小結....................................................................................................... 142
6.7 習題.............................................................................................................. 142
第七章........................................................................................................................ 146
7.1 基本概念....................................................................................................... 146
7.1.1 樣條曲線曲面.............................................................................................. 146
7.1.2 曲線曲面的表示形式................................................................................... 147
7.1.3 擬合和逼近................................................................................................. 147
7.1.2連續性條件.................................................................................................. 148
7.2 三次參數樣條曲線......................................................................................... 149
7.2.1 參數樣條曲線定義....................................................................................... 149
7.2.2 係數求解..................................................................................................... 149
7.2.3 邊界條件..................................................................................................... 150
7.3 Hermite樣條曲線............................................................................................ 153
7.4 Bezier曲線...................................................................................................... 155
7.4.1 Bezier曲線的定義......................................................................................... 156
7.4.2 Bezier曲線的性質......................................................................................... 158
7.4.3 Bezier曲線的可分割性.................................................................................. 158
7.5 Bezier曲面...................................................................................................... 160
7.5.1 Bezier曲面的定義......................................................................................... 160
7.5.2 雙三次Bezier曲面的定義............................................................................. 160
7.6 b樣條曲線..................................................................................................... 162
7.6.1 B樣條曲線的定義........................................................................................ 163
7.6.2 二次B樣條曲線.......................................................................................... 163
7.6.3 三次B樣條曲線.......................................................................................... 165
7.6.4 B樣條曲線的性質........................................................................................ 167
7.6.5 構造特殊的三次B樣條曲線的技巧.............................................................. 170
7.7 B樣條曲面..................................................................................................... 171
7.7.1 B樣條曲面的定義........................................................................................ 171
7.7.2 雙三次B樣條曲面的定義............................................................................ 172
7.7.3 雙三次B樣條曲面的連續性......................................................................... 173
7.8 本章小結....................................................................................................... 176
7.9 習題.............................................................................................................. 176
第八章........................................................................................................................ 179
8.1 分形和分維................................................................................................... 179
8.1.1 分形的誕生................................................................................................. 180
8.1.2 分形的基本特徵.......................................................................................... 181
8.1.3 分形的定義................................................................................................. 181
8.1.4 分形維數的定義.......................................................................................... 182
8.2 遞歸模型....................................................................................................... 184
8.2.1 Cantor集...................................................................................................... 184
8.2.2 Koch曲線.................................................................................................... 185
8.2.3 Peano-Hilbert曲線......................................................................................... 186
8.2.4 Sierpinski墊片、地毯和海綿......................................................................... 189
8.2.5 C字曲線...................................................................................................... 195
8.2.6 Caley樹....................................................................................................... 196
8.3 L-系統模型................................................................................................... 197
8.3.1 L-系統文法.................................................................................................. 197
8.3.2 Koch曲線.................................................................................................... 198
8.3.3 分形草........................................................................................................ 199
8.3.4 Hilbert-Peano曲線......................................................................................... 200
8.3.5 分形灌木叢................................................................................................. 201
8.4 IFS疊代函式系統.......................................................................................... 202
8.4.1 仿射變換..................................................................................................... 203
8.4.2 IFS.............................................................................................................. 204
8.4.3 Koch曲線.................................................................................................... 207
8.4.4 Sierpinski墊片.............................................................................................. 210
8.4.5 楓葉生成..................................................................................................... 212
8.5 本章小結....................................................................................................... 214
8.6 習題.............................................................................................................. 214
第九章........................................................................................................................ 218
9.1 圖形的數據結構............................................................................................. 218
9.1.1 圖形的幾何信息和拓撲信息......................................................................... 218
9.1.2 基本圖形的數據結構................................................................................... 218
9.1.3 立體表示模型.............................................................................................. 220
9.2 消隱算法分類................................................................................................ 221
9.3 隱線算法....................................................................................................... 222
9.3.1凸多面體消隱算法........................................................................................ 222
9.3.2 曲面體消隱算法.......................................................................................... 224
9.4 隱面算法....................................................................................................... 227
9.4.1 Z-Buffer算法............................................................................................... 227
9.4.2 畫家算法..................................................................................................... 230
9.5 本章小結....................................................................................................... 231
9.6 習題.............................................................................................................. 232
第十章........................................................................................................................ 235
10.1顏色模型....................................................................................................... 235
10.1.1 基本概念................................................................................................... 235
10.1.2 RGB顏色模型............................................................................................ 236
10.1.2 Gouraud明暗處理....................................................................................... 237
10.2 材質設定和光照模型.................................................................................... 240
10.2.1 物體的材質............................................................................................... 240
10.2.2 環境光(Ambient Light)........................................................................... 241
10.2.3 漫反射光(Diffuse Light)......................................................................... 241
10.2.4 鏡面反射光(Specular Light).................................................................... 242
10.2.5 光強的衰減............................................................................................... 243
10.3 紋理映射...................................................................................................... 244
10.3.1 紋理定義................................................................................................... 244
10.3.2 紋理映射................................................................................................... 245
10.4 OpenGL簡介................................................................................................. 246
10.4.1 案例效果................................................................................................... 246
10.4.1 TestView.h檔案.......................................................................................... 246
10.4.2 TestView.cpp檔案....................................................................................... 249
10.4.3 程式說明................................................................................................... 257
10.5 本章小結...................................................................................................... 259
10.6 習題............................................................................................................. 259
前言
計算機圖形學(computer graphics,CG)是研究如何利用計算機算法來生成、處理和顯示圖形的一門學科。主要的算法原理包括基於光柵掃描顯示器的基本圖形的光柵化原理;基於齊次坐標的二維、三維變換矩陣的幾何變換原理;基於幾何造型的自由曲線、曲面的生成原理;基於分形幾何學的分數維造型原理;基於像空間和物空間的三維實體動態消隱原理;基於顏色模型、光照模型和紋理映射技術的真實感圖形顯示原理。
本書有以下特色:
1. 編程環境的先進性。本書採用Visual C++ 6.0編程環境進行算法講解。目前市面上的計算機圖形學教材大多採用Turbo C語言作為編程環境,但面向過程語言Turbo C開發的程式是基於DOS界面的,圖形操作基本不具備互動性,而且圖形只能顯示16種顏色。本書選用Microsoft公司的面向對象語言Visual C++ 6.0的MFC框架作為編程環境。
2. 所有原理算法的案例化。計算機圖形學算法複雜、原理眾多。作為省級精品課程“C++程式設計”和院級精品課程“計算機圖形學”的第一負責人,筆者在十多年的計算機圖形學教學實踐中,使用Visual C++ 6.0的MFC框架自主開發了所有原理的算法實現程式,做到了本書所講解到的每個原理在配套的實踐教程中都有相應的算法實現案例。
3. 編寫內容的系統化。本書配有實踐教程。本書分為10章,實踐教程包含和主教材對應的43個案例。兩本書的內容均由同一作者獨立編寫,保證了編寫體系的一致性。
經過歷時3年的編寫,本書終於要和讀者見面了,其間的艱辛一言難盡。由於要用算法實現本書講到的所有原理,程式調試花費了很長時間。幸喜在博創研究所的工作人員的協助下,使用Visual C++的MFC框架完成了本書的所有原理,本書也得以完稿。

相關詞條

相關搜尋

熱門詞條

聯絡我們