計算機圖形學原理及實踐, 3/e (基礎篇) (Computer Graphics: Principles and Practice, 3/e)

約翰·F.休斯

買這商品的人也買了...

商品描述

本書是計算機圖形學領域久負盛名的經典教材,被國內外眾多高校選作教材。第3版全面升級,新增17章,從形式到內容都有極大的變化,與時俱進地對圖形學的關鍵概念、算法、技術及應用進行了細緻的闡釋。為便於教學,中文版分為基礎篇和進階篇兩冊,此為基礎篇,重點包括基本圖形學概念、圖形生成算法、簡單的場景建模方法、2D和3D圖形變換以及實時3D圖形平臺等內容。
主要特點
首先介紹預備數學知識,然後對不同的圖形學主題展開討論,並在需要時補充新的數學知識,從而搭建起易於理解的學習路徑,實現理論與實踐的相互促進。
更新並添加三角形網格面、圖像處理等當代圖形學的熱點內容,摒棄了傳統的線畫圖形內容,同時關註經典思想和技術的發展脈絡,培養解決問題的能力。
基於WPF和G3D展開應用實踐,用大量偽代碼展示算法的整體思路而略去細節,從而聚焦於基礎性原則,在讀者俱備一定的編程經驗後便能夠做到舉一反三

目錄大綱

出版者的話
譯者序
前言
作者簡介
第1章 緒論1
 1.1 計算機圖形學簡介1
  1.1.1 計算機圖形學的世界3
  1.1.2 應用領域的現狀與前景3
  1.1.3 關於用戶界面的思考5
 1.2 簡要歷史6
 1.3 一個光照的例子7
 1.4 目標、資源和適度的抽象8
  1.4.1 深度理解與常見的做法9
 1.5 圖形學中的常數和一些參數值的量級9
  1.5.1 光能量和光子到達率9
  1.5.2 顯示器的特性和眼睛的分辨率10
  1.5.3 數碼相機的特性10
  1.5.4 複雜應用的處理需求10
 1.6 圖形管線11
  1.6.1 紋理映射與近似12
  1.6.2 更為詳細的圖形管線13
 1.7 圖形學與藝術、設計、感知的關係14
 1.8 基本圖形系統16
  1.8.1 圖形數據16
 1.9 視為黑盒的多邊形繪製18
 1.10 圖形系統中的交互18
 1.11 不同類型的圖形應用18
 1.12 不同類型的圖形包19
 1.13 構建真實感繪製模塊:概述20
  1.13.1 光線20
  1.13.2 物體和材料21
  1.13.3 接收來自場景中的光線22
  1.13.4 圖像顯示22
  1.13.5 人類視覺系統23
  1.13.6 數學運算23
  1.13.7 積分和採樣24
 1.14 學習計算機圖形學24
第2章 2D圖形學簡介——基於WPF26
 2.1 引言26
 2.2 2D圖形流水線概述26
 2.3 2D圖形平台的演變27
  2.3.1 從整數坐標到浮點數坐標27
  2.3.2 即時模式與保留模式29
  2.3.3 過程語言與描述性語言30
 2.4 使用WPF定義2D場景31
  2.4.1 XAML應用程序結構31
  2.4.2 採用抽象坐標系定義場景31
  2.4.3 坐標系的選擇範圍33
  2.4.4 WPF畫布坐標系34
  2.4.5 使用顯示變換35
  2.4.6 構造並使用模塊化模板37
 2.5 用WPF實現的2D圖形動態顯示42
  2.5.1 基於描述性動畫的動態顯示42
  2.5.2 基於過程代碼的動態顯示44
 2.6 支持各種形狀係數45
 2.7 討論和延伸閱讀46
第3章 一個古老的繪製器47
 3.1 一幅丟勒的木刻畫47
 3.2 可見性49
 3.3 實現49
  3.3.1 繪圖52
 3.4 程序55
 3.5 局限性57
 3.6 討論和延伸閱讀59
 3.7 練習60
第4章 2D圖形測試平台62
 4.1 引言62
 4.2 測試平台的細節63
  4.2.1 使用2D測試平台63
  4.2.2 割角63
  4.2.3 基於測試平台的程序的結構64
 4.3 C#代碼68
  4.3.1 坐標系70
  4.3.2 WPF數據依賴71
  4.3.3 事件處理71
  4.3.4 其他幾何物體73
 4.4 動畫73
 4.5 交互74
 4.6 測試平台的一個應用程序74
 4.7 討論77
 4.8 練習77
第5章 人類視覺感知簡介78
 5.1 引言78
 5.2 視覺系統79
 5.3 眼睛82
  5.3.1 眼睛的生理機能82
  5.3.2 眼睛中的光感受器83
 5.4 恆常性及其影響85
 5.5 延續性87
 5.6 陰影88
 5.7 討論和延伸閱讀89
 5.8 練習90
第6章 固定功能的3D圖形平台和層次建模簡介92
 6.1 引言92
  6.1.1 WPF 3D部分的設計92
  6.1.2 對光與物體交互的物理過程的近似93
  6.1.3 WPF 3D概述93
 6.2 網格和光照屬性94
  6.2.1 場景設計94
  6.2.2 生成更真實的光照98
  6.2.3 固定功能繪製中的“光照”與“著色”101
 6.3 曲面表示和繪製102
  6.3.1 基於插值的著色處理(Gouraud著色)102
  6.3.2 將表面設置為多面體表面和平滑表面104
 6.4 WPF中的表面紋理105
  6.4.1 基於分片拼接的紋理映射106
  6.4.2 基於拉伸的紋理映射107
 6.5 WPF反射模型107
  6.5.1 顏色設置107
  6.5.2 光源幾何108
  6.5.3 反射率108
 6.6 基於場景圖進行層次建模112
  6.6.1 模塊化建模的動因112
  6.6.2 自頂向下的部件層次結構設計113
  6.6.3 自下而上的構建和組合114
  6.6.4 構件的重用118
 6.7 討論120
第7章 2D和3D空間中的基礎數學與幾何121
 7.1 引言121
 7.2 記號121
 7.3 集合121
 7.4 函數122
  7.4.1 反正切函數123
 7.5 坐標124
 7.6 坐標運算124
  7.6.1 向量126
  7.6.2 如何理解向量127
  7.6.3 向量長度127
  7.6.4 向量運算127
  7.6.5 矩陣乘法130
  7.6.6 其他類型的向量131
  7.6.7 隱式直線132
  7.6.8 平面直線的隱式描述133
  7.6.9 能否採用y=mx+b134
 7.7 直線求交134
  7.7.1 參數化參數化直線求交134
  7.7.2 參數化隱式直線求交135
 7.8 更一般的求交計算135
  7.8.1 光線平面求交136
  7.8.2 光線球求交137
 7.9 三角形138
  7.9.1 重心坐標138
  7.9.2 空間三角形139
  7.9.3 半平面和三角形140
 7.10 多邊形141
  7.10.1 內/外測試141
  7.10.2 非簡單多邊形的內部143
  7.10.3 平面多邊形的符號面積:分而治之143
  7.10.4 空間多邊形的法向量144
  7.10.5 更一般多邊形的符號面積145
  7.10.6 傾斜原理145
  7.10.7 重心坐標的模擬146
 7.11 討論147
 7.12 練習147
第8章 2D和3D形狀的簡單表示150
 8.1 引言150
 8.2 2D空間中的“網格”:折線151
  8.2.1 邊界151
  8.2.2 1D網格的數據結構153
 8.3 3D網格154
  8.3.1 流形網格154
  8.3.2 非流形網格156
  8.3.3 網格結構的存儲要求157
  8.3.4 網格操作158
  8.3.5 邊折疊158
  8.3.6 邊交換159
 8.4 討論和延伸閱讀159
 8.5 練習160
第9章 網格函數161
 9.1 引言161
 9.2 重心坐標插值代碼163
  9.2.1 另一視角下的線性插值166
  9.2.2 掃描線插值167
 9.3 分段線性擴展的局限168
  9.3.1 依賴網格結構169
 9.4 更平滑擴展169
  9.4.1 非凸空間169
  9.4.2 使用哪一種插值方法好170
 9.5 頂點處定義函數乘171
 9.6 應用:紋理映射172
  9.6.1 紋理坐標賦值172
  9.6.2 紋理映射細節173
  9.6.3 紋理映射問題173
 9.7 討論173
 9.8 練習174
第10章 2D變換177
 10.1 引言177
 10.2 5個實例177
 10.3 關於變換的重要事實180
  10.3.1 與矩陣相乘為線性變換180
  10.3.2 與矩陣相乘為唯一的線性變換180
  10.3.3 函數組合和矩陣乘法的關係181
  10.3.4 矩陣的逆和反函數的關係181
  10.3.5 求解變換的關聯矩陣182
  10.3.6 變換和坐標系184
  10.3.7 矩陣性質和奇異值分解185
  10.3.8 計算SVD186
  10.3.9 SVD和偽逆186
 10.4 平移188
 10.5 再談點和向量188
 10.6 為什麼使用3×3矩陣而不是一個矩陣和一個向量189
 10.7 窗口變換189
 10.8 構建3D變換190
 10.9 另一個構造2D變換的實例191
 10.10 坐標系193
 10.11 應用:繪製場景圖194
  10.11.1 場景圖中的坐標改變200
 10.12 變換向量和余向量202
  10.12.1 對參數化直線進行變換204
 10.13 更一般的變換205
 10.14 變換與插值209
 10.15 討論和延伸閱讀209
 10.16 練習210
第11章 3D變換212
 11.1 引言212
  11.1.1 投影變換理論213
 11.2 旋轉214
  11.2.1 2D和3D情形的類比214
  11.2.2 歐拉角215
  11.2.3 旋轉軸和旋轉角的描述216
  11.2.4 從旋轉矩陣中尋找旋轉軸和旋轉角217
  11.2.5 以物體為中心的歐拉角219
  11.2.6 旋轉和3D球219
  11.2.7 計算穩定性224
 11.3 旋轉表示間的比較224
 11.4 旋轉與旋轉參數的指定225
 11.5 對矩陣變換進行插值226
 11.6 虛擬跟踪球和弧球226
 11.7 討論和延伸閱讀228
 11.8 練習228
第12章 2D和3D圖形變換庫230
 12.1 引言230
 12.2 點和向量230
 12.3 變換231
  12.3.1 效率231
 12.4 變換的參數232
 12.5 實現232
  12.5.1 投影變換233
 12.6 3D空間235
 12.7 相關變換235
 12.8 其他結構235
 12.9 其他方法235
 12.10 討論238
 12.11 練習238
第13章 相機設定及變換239
 13.1 引言239
 13.2 一個2D的示例239
 13.3 透視型相機設定240
 13.4 基於相機設定構建變換242
 13.5 相機變換和光柵化繪製流水線248
 13.6 透視變換和z值250
 13.7 相機變換和層次化建模251
 13.8 正交相機252
  13.8.1 寬高比和視域253
 13.9 討論和延伸閱讀253
 13.10 練習254
第14章 標準化近似和表示256
 14.1 引言256
 14.2 評價各種表示方法256
  14.2.1 測量值258
  14.2.2 歷史上的模型258
 14.3 實數258
  14.3.1 定點數259
  14.3.2 浮點數260
  14.3.3 緩衝區260
 14.4 建立光線光學模塊263
  14.4.1 光264
  14.4.2 光源267
  14.4.3 光傳輸267
  14.4.4 材質268
  14.4.5 相機268
 14.5 大尺度物體幾何269
  14.5.1 網格270
  14.5.2 隱式曲面273
  14.5.3 樣條曲面和細分曲面274
  14.5.4 高度場275
  14.5.5 點集276
 14.6 遠距離物體277
  14.6.1 層次細節277
  14.6.2 貼圖板和Imposter技術277
  14.6.3 天空立方盒278
 14.7 體模型278
  14.7.1 有限元模型278
  14.7.2 體素279
  14.7.3 粒子系統280
  14.7.4 霧280
 14.8 場景圖281
 14.9 材質模型282
  14.9.1 散射函數283
  14.9.2 朗伯反射286
  14.9.3 歸一化Blinn-Phong反射函數287
 14.10 半透明和顏色混合289
  14.10.1 混合290
  14.10.2 局部覆蓋率(α)291
  14.10.3 透射293
  14.10.4 自發光295