計算機圖形學(VC++實現)(第2版)

計算機圖形學(VC++實現)(第2版)

《計算機圖形學(VC++實現)(第2版)》是2017年5月清華大學出版社出版的圖書,作者是於萬波、於碩。

基本介紹

  • 中文名:計算機圖形學(VC++實現)(第2版)
  • 作者:於萬波、於碩
  • 出版社:清華大學出版社
  • 出版時間:2017年5月
  • 定價:39 元
  • ISBN:9787302461241
內容簡介,圖書目錄,

內容簡介

本書是計算機圖形學入門教程,以VC++與OpenGL為工具講解計算機圖形學以及動畫製作的基本知識。
第1章通過一些有趣的實例直觀地展示了一些簡單的計算機圖形繪製與動畫製作方法,同時讓讀者了解、熟悉並逐步掌握VC++繪圖相關類及函式的使用;第2章講解二維直線與曲線繪製方法以及區域填充的基本內容;第3章學習三維圖形投影、消隱等內容;第4章通過一些典型實例介紹OpenGL;第5、6章講解樣條曲面、幾何造型與光照模型;第7、8、9章研究分析建模與動畫實例。
本書適合作為計算機科學與技術、軟體工程、信息與計算科學數字媒體技術、機械與建築設計等專業的計算機圖形學教材,也可供對計算機圖形動畫製作感興趣的程式設計人員參考。

圖書目錄

第1章VC++繪圖程式設計/1
1.1使用CDC類函式繪製圖形1
1.1.1使用單文檔程式繪圖1
1.1.2繪製具有真實感的三維圖形7
1.1.3互動繪圖程式設計10
1.1.4繪製矩形15
1.1.5在指定位置輸出文本16
1.2畫筆與畫刷19
1.2.1畫筆類及其函式19
1.2.2畫刷類20
1.3點陣圖圖像操作21
1.3.1提取點陣圖上一點的顏色值21
1.3.2獲取圖像區域的顏色值23
1.4繪圖與動畫程式實例24
1.4.1小圓的彈性運動24
1.4.2拋物運動27
1.4.3小圓沿著螺旋線上升29
1.4.4逐幀動畫製作31
1.4.5使用Timer事件函式繪製圖形32
1.4.6移動滑鼠進行書寫35
1.5Win32應用程式中繪圖與動畫製作36
1.5.1用多種填充形式製作動畫36
1.5.2使用顏色漸變製作動畫37
習題138
第2章二維圖形繪製與填充/43
2.1直線段繪製算法43
2.1.1使用直線方程計算函式值43
2.1.2DDA微分繪製方法44
2.1.3Bresenham算法45〖1〗計算機圖形學(VC++實現)(第2版)[3]〖3〗2.2二次曲線繪製47
2.2.1使用方程繪製二次曲線48
2.2.2一般平面曲線的繪製50
2.2.3圓的繪製算法研究52
2.2.4拋物線的平移與旋轉55
2.2.5二次貝塞爾曲線繪製算法56
2.3擬合曲線59
2.3.1最小二乘法擬合59
2.3.2貝塞爾曲線61
2.3.3B樣條曲線65
2.4插值曲線66
2.4.1簡單的逐段多項式插值方法67
2.4.2Hermite曲線67
2.4.3樣條曲線68
2.5基於代數方程的基本規則圖形填充70
2.5.1矩形與三角形填充70
2.5.2橢圓填充72
2.5.3拋物線圍成的封閉區域填充73
2.6多邊形填充73
2.6.1多邊形填充的複雜性分析74
2.6.2掃描線填充75
2.6.3種子填充80
2.7二維分形圖繪製82
2.7.1繪製樹82
2.7.2繪製分形山84
習題285
第3章三維數據的二維投影/89
3.1三維數據投影89
3.1.1三維數據與二維顯示89
3.1.2繪製空間直角坐標系90
3.2三維螺旋線的平行投影91
3.2.1參數方程及三維空間點的二維繪製91
3.2.2不同角度的三維螺旋線投影93
3.3三維數據的透視投影95
3.3.1平行投影與透視投影95
3.3.2觀察坐標系下的一點透視投影96
3.4裁剪98
3.4.1二維圖形裁剪98
3.4.2三維圖形裁剪98
3.5視點變化下的多面體繪製99
3.5.1線框正方體投影繪製99
3.5.2視點變化下的線框正方體繪製101
3.6隱藏面檢測101
3.6.1隱藏線面101
3.6.2一個正方體的六個面102
3.6.3背面檢測方法103
3.6.4多面體的隱藏面計算104
3.6.5其他檢測方法104
習題3106
第4章OpenGL/108
4.1VC++中運行OpenGL程式108
4.1.1在VC++中加入glut108
4.1.2繪製點與線109
4.1.3繪製三角形與四邊形110
4.2OpenGL函式解析(一)114
4.2.1顏色設定函式glClearColor與glColor114
4.2.2繪製函式glBegin與glEnd115
4.2.3視窗初始化函式glutInitWindowSize等116
4.2.4OpenGL核心函式116
4.3OpenGL函式解析(二)117
4.3.1調用函式繪製形體117
4.3.2裁剪函式glOrtho119
4.3.3glutSolidSphere等119
4.3.4光照函式glLight120
4.3.5OpenGL實用函式120
4.4一個運動的正方體121
4.4.1三維正方體繪製與函式gluLookAt121
4.4.2OpenGL旋轉函式glRotate123
4.4.3使用滑鼠控制旋轉軸125
4.5具有顏色插值效果的多面體126
4.5.1多面體繪製126
4.5.2修改參數128
4.6OpenGL函式解析(三)129
4.6.1平移函式glTranslate與縮放函式glScale129
4.6.2面法向設定函式glNormal3fv129
4.6.3雙快取函式glutSwapBuffers129
4.6.4透視投影函式glFrustum130
4.6.5工具函式glut131
4.7OpenGL互動操作函式132
4.7.1滑鼠操作132
4.7.2鍵盤操作133
4.7.3選單製作134
4.8繪製實例135
4.8.1繪製五角星135
4.8.2運動的彩色正方體137
習題4140
第5章樣條曲面/147
5.1樣條曲線147
5.1.1三維空間貝塞爾曲線147
5.1.2曲線的拼接148
5.1.3三維空間B樣條曲線148
5.1.4三維空間分段插值曲線151
5.2貝塞爾曲面151
5.2.1貝塞爾曲面的定義152
5.2.2雙一次貝塞爾曲面152
5.2.3雙二次貝塞爾曲面154
5.2.4雙三次貝塞爾曲面的16個控制點155
5.2.5曲面特性157
5.3B樣條曲面繪製157
5.3.1B樣條曲面定義157
5.3.2雙二次B樣條曲面158
5.4OpenGL曲線曲面繪製160
5.4.1曲線繪製160
5.4.2曲面繪製162
5.4.3繪製光滑曲面165
5.5OpenGL函式解析(四)167
5.5.1計算二維格線函式glEvalMesh167
5.5.2二維求值函式glMap2f168
習題5169
第6章幾何造型與光照模型/174
6.1幾何造型基本單元的組織174
6.1.1線框模型175
6.1.2表面模型175
6.1.3實體模型176
6.2實體模型構造方法177
6.2.1邊界表示法177
6.2.2分解表示法178
6.2.3掃描造型法179
6.3場景構造與模型的重用180
6.3.1場景構造180
6.3.2模型重用181
6.3.3布爾運算181
6.4三維數據模型: 地形圖182
6.4.1繪製地形圖程式182
6.4.2程式結構185
6.4.3讀取數據檔案186
6.4.4格線地形繪製186
6.4.5加入燈光效果188
6.5OpenGL中的光照效果189
6.5.1按右鍵移動光源189
6.5.2安裝多個光源192
6.5.3多個光源下的多個球體194
6.6OpenGL光照函式195
6.6.1關於glLight195
6.6.2多面體的光照效果196
6.7簡單光照模型198
6.7.1鏡面反射與視點位置198
6.7.2漫反射與環境光200
6.8明暗插值與陰影生成202
6.8.1明暗插值方法202
6.8.2陰影生成203
6.8.3透明性203
6.8.4整體光照模型204
習題6204
第7章紋理映射: 飄動的圖像與旋轉的地球/208
7.1使用Win32應用程式運行OpenGL程式208
7.1.1關於Win32應用程式208
7.1.2一個飄動的圖像210
7.1.3修改程式製作更多的飄動效果220
7.2構建OpenGL程式運行框架223
7.2.1函式CreateGLWindow223
7.2.2函式KillGLWindow223
7.2.3函式LRESULT CALLBACK WndProc224
7.2.4函式int WINAPI WinMain224
7.2.5OpenGL的glaux輔助函式225
7.3格線製作與圖像映射226
7.3.1頂點生成226
7.3.2格線製作226
7.3.3運動的格線227
7.3.4圖像定義為紋理228
7.3.5圖像映射到格線228
7.4OpenGL函式解析(五)229
7.4.1OpenGL紋理映射229
7.4.2OpenGL紋理定義函式glTexImage229
7.4.3OpenGL紋理控制函式glTexParameter230
7.4.4紋理與多邊形顏色的融合230
7.4.5OpenGL紋理坐標生成函式glTexCoord231
7.4.6OpenGL紋理映射函式套用實例232
7.5旋轉的地球235
7.5.1程式實現235
7.5.2去掉圖像的白邊238
7.5.3球的上下左右移動238
習題7239
第8章不規則圖形: 粒子系統與疊代吸引子/241
8.1使用粒子系統製作爆炸效果241
8.1.1粒子系統241
8.1.2爆炸效果的程式實現241
8.1.3程式解析246
8.1.4修改程式實現更多效果248
8.1.5使用VC++製作爆炸效果250
8.1.6使用3ds Max製作下雪動畫252
8.2基於圖像的圖形繪製254
8.2.1圖像動畫製作254
8.2.2基於圖像的三維圖形建模255
8.3OpenGL圖像操作256
8.3.1二值圖形繪製256
8.3.2讀寫像素258
8.3.3像素複製261
8.4OpenGL函式解析(六)263
8.4.1OpenGL函式glDrawBuffer與glReadBuffer263
8.4.2OpenGL函式glutBitmapCharacter264
8.4.3OpenGL圖像操作函式266
8.5疊代吸引子圖形繪製266
8.5.1正弦函式與二元二次隨機多項式函式疊代267
8.5.2調整正弦函式觀察疊代結果268
8.5.3離散餘弦變換基函式作為輔助函式269
習題8271
第9章飛機動畫製作與改進/275
9.1使用單文檔運行OpenGL程式275
9.1.1單文檔OpenGL程式275
9.1.2星空閃爍動畫279
9.1.3將項目框架加入到VC++選項中281
9.2飛機模型282
9.2.1運行飛機動畫遊戲程式282
9.2.2飛機數據模型分析284
9.2.3OpenGL材質函式glMaterialfv291
9.3動畫製作294
9.3.1飛機的飛行294
9.3.2發射子彈295
9.3.3鍵盤的使用296
9.3.4關於動畫297
習題9298
附錄A期末試題/299
參考文獻/317

相關詞條

熱門詞條

聯絡我們