計算機圖形學:VC++實現

計算機圖形學:VC++實現

《計算機圖形學:VC++實現》是2021年清華大學出版社出版的圖書。

基本介紹

  • 中文名:計算機圖形學:VC++實現
  • 作者:於萬波,於碩
  • 出版社:清華大學出版社
  • 出版時間:2021年9月1日
  • 頁數:356 頁
  • 開本:16 開
  • 裝幀:平裝
  • ISBN:9787302580140
內容簡介,圖書目錄,作者簡介,

內容簡介

本書是計算機圖形學入門教程,以VC++與OpenGL為工具講解計算機圖形學以及動畫製作的基本方法和原理。
第1章使用VC++繪圖相關類和函式實現一些有趣的實例,直觀地展示一些簡單的計算機圖形繪製與動畫製作方法;第2章講解二維直線段與曲線繪製方法以及區域填充的基本內容;第3章講解三維圖形投影、消隱等內容;第4章通過一些典型實例介紹OpenGL;第5~6章講解樣條曲面、幾何造型與光照模型;第7~9章給出了基於OpenGL的圖像飄動、地球旋轉、爆炸效果、飛機動畫等建模與動畫實例。
本書適用於計算機科學與技術、軟體工程、信息與計算科學、數字媒體技術、機械與建築設計等專業的“計算機圖形學”課程教材,也可供對計算機圖形動畫製作感興趣的研究生及程式設計人員參考。

圖書目錄

第1章VC++繪圖程式設計/1
1.1使用CDC類函式繪製圖形1
1.1.1使用單文檔程式繪圖1
1.1.2繪製具有真實感的三維圖形7
1.1.3互動繪圖程式設計10
1.1.4繪製矩形16
1.1.5在指定位置輸出文本17
1.2畫筆與畫刷19
1.2.1畫筆類及其函式19
1.2.2畫刷類20
1.3點陣圖圖像操作21
1.3.1提取點陣圖上一點的顏色值21
1.3.2獲取圖像區域的顏色值24
1.4繪圖與動畫程式實例25
1.4.1小圓的彈性運動25
1.4.2拋物運動27
1.4.3小圓沿著螺旋線上升30
1.4.4逐幀動畫製作32
1.4.5使用Timer事件函式繪製圖形33
1.4.6移動滑鼠進行書寫35
1.5Win32應用程式中繪圖與動畫製作36
1.5.1用多種填充形式製作動畫36
1.5.2使用顏色漸變製作動畫37
習題38
第2章二維圖形繪製與填充/46
2.1直線繪製算法46
2.1.1使用直線方程計算函式值繪製直線段46
2.1.2DDA微分繪製方法47
2.1.3Bresenham算法48
2.2基於方程的曲線描點繪製50
2.2.1使用方程繪製一般二次曲線51
2.2.2使用方程繪製二次有理貝塞爾曲線52
2.2.3一般平面曲線的繪製53
2.2.4拋物線的平移與旋轉56
2.3圓的繪製算法研究57
2.4二次貝塞爾曲線繪製59
2.4.1使用參數方程繪製二次貝塞爾曲線60
2.4.2二次貝塞爾曲線快速繪製算法61
2.5擬合曲線62
2.5.1最小二乘法擬合62
2.5.2貝塞爾曲線64
2.5.3B樣條曲線68
2.6插值曲線70
2.6.1簡單的逐段多項式插值方法70
2.6.2Hermite曲線71
2.6.3樣條曲線72
2.7基於代數方程的基本規則圖形填充73
2.7.1矩形與三角形填充73
2.7.2橢圓填充76
2.7.3拋物線圍成的封閉區域填充76
2.8多邊形填充77
2.8.1多邊形填充的複雜性分析77
2.8.2掃描線填充78
2.8.3種子填充84
2.9二維分形圖繪製85
2.9.1繪製樹86
2.9.2繪製分形山87
習題89
計算機圖形學(VC++實現)(第3版)目錄第3章三維數據的二維投影/97
3.1三維數據投影97
3.1.1三維數據與二維顯示97
3.1.2繪製空間直角坐標系98
3.2三維螺旋線的平行投影100
3.2.1參數方程及三維空間點的二維繪製100
3.2.2不同角度的三維螺旋線投影101
3.3三維數據的透視投影103
3.3.1平行投影與透視投影103
3.3.2觀察坐標系下的一點透視投影104
3.4裁剪106
3.4.1二維圖形裁剪106
3.4.2三維圖形裁剪106
3.5視點變化下的多面體繪製107
3.5.1線框正方體投影繪製108
3.5.2視點變化下的線框正方體繪製109
3.6隱藏面檢測110
3.6.1隱藏線面110
3.6.2一個正方體的六個面110
3.6.3背面檢測方法111
3.6.4多面體的隱藏面計算112
3.6.5其他檢測方法113
習題114
第4章OpenGL/118
4.1VC++ Source File運行OpenGL程式118
4.1.1在VC++中加入glut118
4.1.2繪製點與線119
4.1.3繪製三角形與四邊形121
4.2OpenGL函式解析(一)125
4.2.1顏色設定函式glClearColor()與glColor()125
4.2.2繪製函式glBegin()與glEnd()126
4.2.3視窗初始化函式glutInitWindowSize()等126
4.2.4OpenGL核心函式127
4.3OpenGL函式解析(二)128
4.3.1調用函式繪製形體128
4.3.2裁剪函式glOrtho()129
4.3.3形體函式glutSolidSphere()等130
4.3.4光照函式glLight()130
4.3.5OpenGL實用函式131
4.4一個運動的正方體132
4.4.1三維正方體繪製與函式gluLookAt()132
4.4.2旋轉函式glRotatef()134
4.4.3使用滑鼠控制旋轉軸136
4.5具有顏色插值效果的多面體137
4.5.1多面體繪製137
4.5.2修改參數139
4.6OpenGL函式解析(三)139
4.6.1平移函式glTranslate()與縮放函式glScalef()139
4.6.2面法向設定函式glNormal3fv()140
4.6.3雙快取函式glutSwapBuffers()140
4.6.4透視投影函式glFrustum()140
4.6.5工具函式glut142
4.7OpenGL互動操作函式143
4.7.1滑鼠操作143
4.7.2鍵盤操作144
4.7.3選單製作145
4.8繪製實例147
4.8.1繪製五角星147
4.8.2運動的彩色正方體149
習題152
第5章樣條曲面/163
5.1三維空間樣條曲線163
5.1.1三維空間貝塞爾曲線163
5.1.2曲線的拼接164
5.1.3三維空間B樣條曲線165
5.1.4三維空間分段插值曲線167
5.2貝塞爾曲面168
5.2.1貝塞爾曲面的定義168
5.2.2雙一次貝塞爾曲面168
5.2.3雙二次貝塞爾曲面170
5.2.4雙三次貝塞爾曲面的16個控制點172
5.2.5曲面特性173
5.3B樣條曲面繪製173
5.3.1B樣條曲面定義173
5.3.2雙二次B樣條曲面174
5.4OpenGL曲線曲面繪製176
5.4.1曲線繪製176
5.4.2曲面繪製179
5.4.3繪製光滑曲面182
5.5OpenGL函式解析(四)184
5.5.1計算二維格線函式glEvalMesh()184
5.5.2二維求值函式glMap2f()184
習題185
第6章幾何造型與光照模型/192
6.1幾何造型基本單元的組織192
6.1.1線框模型192
6.1.2表面模型193
6.1.3實體模型194
6.2實體模型構造方法194
6.2.1邊界表示法194
6.2.2分解表示法196
6.2.3掃描造型法197
6.3場景構造與模型的重用197
6.3.1場景構造198
6.3.2模型重用199
6.3.3布爾運算199
6.4三維數據模型: 地形圖200
6.4.1繪製地形圖程式200
6.4.2程式結構203
6.4.3讀取數據檔案204
6.4.4格線地形繪製204
6.4.5加入燈光效果206
6.5OpenGL中的光照效果207
6.5.1按右鍵移動光源207
6.5.2安裝多個光源210
6.5.3多個光源下的多個球體212
6.6OpenGL光照函式213
6.6.1關於glLight()213
6.6.2多面體的光照效果214
6.7簡單光照模型216
6.7.1鏡面反射與視點位置216
6.7.2漫反射與環境光218
6.7.3Phong光照模型219
6.8明暗插值與陰影生成220
6.8.1明暗插值方法220
6.8.2陰影生成221
6.8.3透明性222
6.8.4整體光照模型223
習題223
第7章紋理映射: 飄動的圖像與旋轉的地球/228
7.1使用Win32應用程式運行OpenGL程式228
7.1.1關於Win32應用程式228
7.1.2一個飄動的圖像230
7.1.3修改程式製作更多的飄動效果239
7.2構建OpenGL程式運行框架242
7.2.1函式CreateGLWindow()243
7.2.2函式KillGLWindow()243
7.2.3函式LRESULT CALLBACK WndProc()244
7.2.4函式int WINAPI WinMain()244
7.2.5OpenGL的glaux()輔助函式245
7.3格線製作與圖像映射246
7.3.1頂點生成246
7.3.2格線製作246
7.3.3運動的格線247
7.3.4圖像定義為紋理247
7.3.5圖像映射到格線248
7.4OpenGL函式解析(五)248
7.4.1OpenGL紋理映射248
7.4.2OpenGL紋理定義函式glTexImage()249
7.4.3OpenGL紋理控制函式glTexParameter()250
7.4.4紋理與多邊形顏色的融合250
7.4.5OpenGL紋理坐標生成函式gltexCoord()251
7.4.6OpenGL紋理映射函式套用實例252
7.5旋轉的地球254
7.5.1程式實現254
7.5.2去掉圖像的白邊257
7.5.3球的上下左右移動258
習題259
第8章不規則圖形: 粒子系統與疊代吸引子/262
8.1使用粒子系統製作爆炸效果262
8.1.1粒子系統262
8.1.2爆炸效果的程式實現262
8.1.3程式解析267
8.1.4修改程式實現更多效果270
8.1.5使用VC++製作爆炸效果272
8.1.6使用3ds Max製作下雪動畫274
8.2基於圖像的圖形繪製275
8.2.1圖像動畫製作275
8.2.2基於圖像的三維圖形建模276
8.3OpenGL圖像操作277
8.3.1二值圖形繪製277
8.3.2讀寫像素279
8.3.3像素複製283
8.4OpenGL函式解析(六)284
8.4.1OpenGL函式glDrawBuffery()與glReadBuffer()284
8.4.2OpenGL函式glutBitmapCharacter()286
8.4.3OpenGL圖像操作函式287
8.5疊代吸引子圖形繪製288
8.5.1正弦函式與二元二次隨機多項式函式疊代288
8.5.2調整正弦函式觀察疊代結果289
8.5.3離散餘弦變換基函式作為輔助函式290
習題292
第9章飛機動畫製作與改進/297
9.1使用單文檔運行OpenGL程式297
9.1.1單文檔OpenGL程式297
9.1.2星空閃爍動畫301
9.1.3將項目框架加入VC++選項303
9.2飛機模型304
9.2.1運行飛機動畫遊戲程式305
9.2.2飛機數據模型分析306
9.2.3OpenGL材質函式glMaterialfv()313
9.3動畫製作316
9.3.1飛機的飛行316
9.3.2發射子彈317
9.3.3鍵盤的使用318
9.3.4關於動畫319
習題320
附錄A期末試題/322
A.1期末考試試卷(一)322
A.2期末考試試卷(二)329
A.3期末考試試卷(三)334
A.4期末考試試卷(四)337
A.5期末考試試卷(五)339
參考文獻/343

作者簡介

於萬波,男,年齡54,大連大學副教授,碩士畢業於吉林大學,博士畢業於大連理工大學。任教於計算機科學與技術專業,喜歡教學與科研工作。

相關詞條

熱門詞條

聯絡我們