計(jì)算機(jī)圖形學(xué)原理及實(shí)踐(原書第3版)(基礎(chǔ)篇)
定 價(jià):99 元
叢書名:華章教育
- 作者:約翰·F.休斯
- 出版時(shí)間:2018/11/1
- ISBN:9787111611806
- 出 版 社:機(jī)械工業(yè)出版社
- 中圖法分類:TP391.411
- 頁(yè)碼:
- 紙張:膠版紙
- 版次:
- 開(kāi)本:16開(kāi)
本書是計(jì)算機(jī)圖形學(xué)領(lǐng)域的著作,系統(tǒng)全面地介紹了計(jì)算機(jī)圖形學(xué)領(lǐng)域的關(guān)鍵概念、算法、技術(shù)和應(yīng)用。本書先介紹了如何創(chuàng)建二維和三維圖像,接下來(lái)介紹了更為廣泛的話題,包括圖像表示和操縱、圖像和信號(hào)處理、圖像的縮放、紋理和紋理映射、交互技術(shù)、曲線分割、曲面分割、形狀的隱式表示、網(wǎng)格、光、材料和散射、顏色、光傳輸、概率和蒙特卡洛集成、動(dòng)畫、空間數(shù)據(jù)結(jié)構(gòu)、現(xiàn)代圖形學(xué)硬件等內(nèi)容。
本書面向?qū)W生、研究人員和從業(yè)人員,介紹計(jì)算機(jī)圖形學(xué)的許多重要概念和思想。其中一些概念讀者并不陌生,它們?cè)缫殉霈F(xiàn)在廣為流行的學(xué)術(shù)出版物、技術(shù)報(bào)告、教科書和行業(yè)報(bào)刊中。在某個(gè)概念出現(xiàn)一段時(shí)間后再將其寫入教科書的好處是,人們可以更充分地理解它的長(zhǎng)遠(yuǎn)影響并將其置于一個(gè)更大的背景中予以領(lǐng)悟。本書將盡可能詳細(xì)地介紹這些概念(當(dāng)然也略過(guò)了一些曾經(jīng)火熱但現(xiàn)在已不再重要的概念),并以一種清晰、流暢的風(fēng)格將它們呈現(xiàn)給初學(xué)者。
本書屬于第二代圖形學(xué)教科書:我們并不將之前的所有工作全部認(rèn)定為天然合理的,而是按今天的理解重新審視它們,進(jìn)而更新其原有的陳述方式。
甚至一些最基本的問(wèn)題也可能變得非常棘手。舉例來(lái)說(shuō),假如要設(shè)計(jì)一個(gè)適用于低光照環(huán)境(如電影院的暗環(huán)境)的程序。顯然,我們不能采用亮屏幕顯示器,這意味著在顯示程序中采用亮度對(duì)比來(lái)區(qū)分環(huán)境中的不同對(duì)象不再適宜。也許可以改用彩色顯示,但遺憾的是,在低光照環(huán)境中人們對(duì)顏色的感知同樣有所降低,某些顏色的文字要比其他顏色更易讀。在這種情況下,光標(biāo)是否仍容易被用戶看到呢?一種簡(jiǎn)單的應(yīng)對(duì)方式是利用人眼對(duì)運(yùn)動(dòng)的感知能力,讓光標(biāo)持續(xù)抖動(dòng)。于是,一個(gè)看似簡(jiǎn)單的問(wèn)題最后涉及交互界面設(shè)計(jì)、顏色理論以及人類感知等領(lǐng)域。
盡管上述例子很簡(jiǎn)單,但仍隱含了某些假設(shè):采用圖形方式輸出(而不是通過(guò)觸覺(jué)或封閉良好的耳機(jī)來(lái)輸出);顯示設(shè)備既非常規(guī)的影院屏幕,也不是頭盔顯示器。其中也包含了一些顯式的假設(shè),例如采用光標(biāo)(也有一些用戶界面不使用光標(biāo))。上述每一種假設(shè)都是對(duì)用戶界面的一種選擇。
遺憾的是,這種多方面內(nèi)容相互交織的關(guān)系使得我們不可能完全按照某種順序來(lái)講述各主題,而且還能很好地介紹它們的研究動(dòng)因和背景,也就是說(shuō),這些主題無(wú)法以線性方式展開(kāi)。也許,我們可以先介紹它們涉及的所有相關(guān)的數(shù)學(xué)、感知理論或其他內(nèi)容,總之,將較為抽象的內(nèi)容和主題放在前面介紹,然后再介紹圖形學(xué)應(yīng)用。盡管這種內(nèi)容組織方式可能便于參考(讀者很容易找到講述一般化向量叉積的有關(guān)章節(jié)),但對(duì)一本教科書而言,其效果并不好,原因是那些涉及主題研究動(dòng)因的應(yīng)用都要等到書的最后才會(huì)介紹。另一種展開(kāi)方式是采取案例研究的思路,分別介紹各種不同的任務(wù)(難度不斷增大),然后根據(jù)問(wèn)題的需要講述相關(guān)內(nèi)容。在某些情況下,這確實(shí)是一種自然的內(nèi)容演繹方式,但難以對(duì)各主題做出整體性、結(jié)構(gòu)化的呈現(xiàn)。本書是這兩種方式的折中:開(kāi)始部分介紹了廣泛使用的數(shù)學(xué)知識(shí)和常規(guī)的符號(hào)標(biāo)記方式,然后逐個(gè)主題展開(kāi)內(nèi)容,根據(jù)需要補(bǔ)充介紹必要的數(shù)學(xué)工具。熟悉數(shù)學(xué)的讀者完全可以跳過(guò)開(kāi)始部分而不致錯(cuò)過(guò)任何圖形學(xué)知識(shí)。其他人則可從這些章節(jié)中獲益良多。教師授課時(shí)可根據(jù)需要對(duì)其進(jìn)行取舍;谥黝}的章節(jié)安排方式可能會(huì)導(dǎo)致內(nèi)容上的重復(fù)。例如,本書從不同的細(xì)節(jié)層次對(duì)圖形流水線進(jìn)行了多次討論。與其讓讀者回頭參考之前的章節(jié),有時(shí)我們會(huì)再次陳述部分內(nèi)容,使對(duì)該問(wèn)題的討論更為流暢。畢竟讓讀者返回500頁(yè)之前去查看一幅圖并非令人愜意的事。
對(duì)本教材的作者來(lái)說(shuō),另一個(gè)挑戰(zhàn)是選材的廣度。本書的第1版確實(shí)覆蓋了當(dāng)時(shí)圖形學(xué)出版物中的大部分內(nèi)容,第2版至少也約略提到了其中大部分的研究工作。本版教材不再追求內(nèi)容的覆蓋度,理由很簡(jiǎn)單:當(dāng)本書第2版出版時(shí),我們一只手就能拿起SIGGRAPH會(huì)議的全部論文集(這些論文幾乎包含了圖形學(xué)領(lǐng)域的代表性工作);如今,SIGGRAPH會(huì)議的全部論文集(僅僅是許多圖形學(xué)出版物中的一種)疊在一起高達(dá)數(shù)米。即使是電子版的教材也無(wú)法將全部?jī)?nèi)容塞進(jìn)1000頁(yè)中。本書這一版旨在為讀者指明在哪里可以找到和復(fù)制當(dāng)今的大部分SIGGRAPH論文。下面是幾點(diǎn)說(shuō)明:
●第一,計(jì)算機(jī)圖形學(xué)與計(jì)算機(jī)視覺(jué)的交叉面越來(lái)越大,但這并不能構(gòu)成讓我們將本書寫成計(jì)算機(jī)視覺(jué)教材的理由,盡管一些有該領(lǐng)域豐富知識(shí)的人已經(jīng)這樣做了。
●第二,計(jì)算機(jī)圖形學(xué)涉及編程,盡管許多圖形學(xué)應(yīng)用題目很大,但本書并沒(méi)有試圖講授編程和軟件工程。當(dāng)然,在書中我們也會(huì)簡(jiǎn)要討論一些專門針對(duì)圖形學(xué)的編程方法(尤其是排錯(cuò))。
●第三,許多圖形學(xué)應(yīng)用都提供了用戶界面。在編寫本書時(shí),大多數(shù)界面均基于Windows操作系統(tǒng),采用菜單和鼠標(biāo)進(jìn)行交互。不過(guò)基于觸覺(jué)的交互界面正變得越來(lái)越常見(jiàn)。交互界面的研究曾經(jīng)是圖形學(xué)的一部分,但如今已成為一個(gè)獨(dú)立的領(lǐng)域(盡管它仍和圖形學(xué)有很大的交叉)。我們假定讀者在編寫含用戶界面的程序方面已具備了一些經(jīng)驗(yàn),因此本書將不再對(duì)它們做深入討論(除了其實(shí)現(xiàn)過(guò)程與圖形學(xué)密切關(guān)聯(lián)的3D界面外)。
毋庸置疑,圖形學(xué)領(lǐng)域的研究論文區(qū)別很大:有些涉及很多的數(shù)學(xué)表述;有些介紹的是一個(gè)大規(guī)模的系統(tǒng),涉及各種復(fù)雜的工程因素的權(quán)衡;還有些涉及物理學(xué)、色彩理論、地形學(xué)、攝影學(xué)、化學(xué)、動(dòng)物學(xué)等各個(gè)學(xué)科的知識(shí)。我們的目標(biāo)是讓讀者領(lǐng)會(huì)這些論文中的圖形學(xué)貢獻(xiàn),而其他的相關(guān)知識(shí)則需要讀者在課外自行學(xué)習(xí)。
歷史上的方法
在歷史上,圖形學(xué)大多為一些面向當(dāng)時(shí)急需解決的問(wèn)題的專門方法。這么說(shuō)并非對(duì)那些曾經(jīng)使用這些方法的人有所不敬,他們手頭有任務(wù),必須想辦法完成。其中
出版者的話
譯者序
前言
作者簡(jiǎn)介
第1章 緒論1
1.1 計(jì)算機(jī)圖形學(xué)簡(jiǎn)介1
1.1.1 計(jì)算機(jī)圖形學(xué)的世界3
1.1.2 應(yīng)用領(lǐng)域的現(xiàn)狀與前景3
1.1.3 關(guān)于用戶界面的思考5
1.2 簡(jiǎn)要?dú)v史6
1.3 一個(gè)光照的例子7
1.4 目標(biāo)、資源和適度的抽象8
1.4.1 深度理解與常見(jiàn)的做法9
1.5 圖形學(xué)中的常數(shù)和一些參數(shù)值的量級(jí)9
1.5.1 光能量和光子到達(dá)率9
1.5.2 顯示器的特性和眼睛的分辨率10
1.5.3 數(shù)碼相機(jī)的特性10
1.5.4 復(fù)雜應(yīng)用的處理需求10
1.6 圖形管線11
1.6.1 紋理映射與近似12
1.6.2 更為詳細(xì)的圖形管線13
1.7 圖形學(xué)與藝術(shù)、設(shè)計(jì)、感知的關(guān)系14
1.8 基本圖形系統(tǒng)16
1.8.1 圖形數(shù)據(jù)16
1.9 視為黑盒的多邊形繪制18
1.10 圖形系統(tǒng)中的交互18
1.11 不同類型的圖形應(yīng)用18
1.12 不同類型的圖形包19
1.13 構(gòu)建真實(shí)感繪制模塊:概述20
1.13.1 光線20
1.13.2 物體和材料21
1.13.3 接收來(lái)自場(chǎng)景中的光線22
1.13.4 圖像顯示22
1.13.5 人類視覺(jué)系統(tǒng)23
1.13.6 數(shù)學(xué)運(yùn)算23
1.13.7 積分和采樣24
1.14 學(xué)習(xí)計(jì)算機(jī)圖形學(xué)24
第2章 2D圖形學(xué)簡(jiǎn)介——基于WPF26
2.1 引言26
2.2 2D圖形流水線概述26
2.3 2D圖形平臺(tái)的演變27
2.3.1 從整數(shù)坐標(biāo)到浮點(diǎn)數(shù)坐標(biāo)27
2.3.2 即時(shí)模式與保留模式29
2.3.3 過(guò)程語(yǔ)言與描述性語(yǔ)言30
2.4 使用WPF定義2D場(chǎng)景31
2.4.1 XAML應(yīng)用程序結(jié)構(gòu)31
2.4.2 采用抽象坐標(biāo)系定義場(chǎng)景31
2.4.3 坐標(biāo)系的選擇范圍33
2.4.4 WPF畫布坐標(biāo)系34
2.4.5 使用顯示變換35
2.4.6 構(gòu)造并使用模塊化模板37
2.5 用WPF實(shí)現(xiàn)的2D圖形動(dòng)態(tài)顯示42
2.5.1 基于描述性動(dòng)畫的動(dòng)態(tài)顯示42
2.5.2 基于過(guò)程代碼的動(dòng)態(tài)顯示44
2.6 支持各種形狀系數(shù)45
2.7 討論和延伸閱讀46
第3章 一個(gè)古老的繪制器47
3.1 一幅丟勒的木刻畫47
3.2 可見(jiàn)性49
3.3 實(shí)現(xiàn)49
3.3.1 繪圖52
3.4 程序55
3.5 局限性57
3.6 討論和延伸閱讀59
3.7 練習(xí)60
第4章 2D圖形測(cè)試平臺(tái)62
4.1 引言62
4.2 測(cè)試平臺(tái)的細(xì)節(jié)63
4.2.1 使用2D測(cè)試平臺(tái)63
4.2.2 割角63
4.2.3 基于測(cè)試平臺(tái)的程序的結(jié)構(gòu)64
4.3 C#代碼68
4.3.1 坐標(biāo)系70
4.3.2 WPF數(shù)據(jù)依賴71
4.3.3 事件處理71
4.3.4 其他幾何物體73
4.4 動(dòng)畫73
4.5 交互74
4.6 測(cè)試平臺(tái)的一個(gè)應(yīng)用程序74
4.7 討論77
4.8 練習(xí)77
第5章 人類視覺(jué)感知簡(jiǎn)介78
5.1 引言78
5.2 視覺(jué)系統(tǒng)79
5.3 眼睛82
5.3.1 眼睛的生理機(jī)能82
5.3.2 眼睛中的光感受器83
5.4 恒常性及其影響85
5.5 延續(xù)性87
5.6 陰影88
5.7 討論和延伸閱讀89
5.8 練習(xí)90
第6章 固定功能的3D圖形平臺(tái)和層次建模簡(jiǎn)介92
6.1 引言92
6.1.1 WPF 3D部分的設(shè)計(jì)92
6.1.2 對(duì)光與物體交互的物理過(guò)程的近似93
6.1.3 WPF 3D概述93
6.2 網(wǎng)格和光照屬性94
6.2.1 場(chǎng)景設(shè)計(jì)94
6.2.2 生成更真實(shí)的光照98
6.2.3 固定功能繪制中的“光照”與“著色”101
6.3 曲面表示和繪制102
6.3.1 基于插值的著色處理(Gouraud著色)102
6.3.2 將表面設(shè)置為多面體表面和平滑表面104
6.4 WPF中的表面紋理105
6.4.1 基于分片拼接的紋理映射106
6.4.2 基于拉伸的紋理映射107
6.5 WPF反射模型107
6.5.1 顏色設(shè)置107
6.5.2 光源幾何108
6.5.3 反射率108
6.6 基于場(chǎng)景圖進(jìn)行層次建模112
6.6.1 模塊化建模的動(dòng)因112
6.6.2 自頂向下的部件層次結(jié)構(gòu)設(shè)計(jì)113
6.6.3 自下而上的構(gòu)建和組合114
6.6.4 構(gòu)件的重用118
6.7 討論120
第7章 2D和3D空間中的基礎(chǔ)數(shù)學(xué)與幾何121
7.1 引言121
7.2 記號(hào)121
7.3 集合121
7.4 函數(shù)122
7.4.1 反正切函數(shù)123
7.5 坐標(biāo)124
7.6 坐標(biāo)運(yùn)算124
7.6.1 向量126
7.6.2 如何理解向量127
7.6.3 向量長(zhǎng)度127
7.6.4 向量運(yùn)算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 參數(shù)化參數(shù)化直線求交134
7.7.2 參數(shù)化隱式直線求交135
7.8 更一般的求交計(jì)算135
7.8.1 光線平面求交136
7.8.2 光線球求交137
7.9 三角形138
7.9.1 重心坐標(biāo)138
7.9.2 空間三角形139
7.9.3 半平面和三角形140
7.10 多邊形141
7.10.1 內(nèi)/外測(cè)試141
7.10.2 非簡(jiǎn)單多邊形的內(nèi)部143
7.10.3 平面多邊形的符號(hào)面積:分而治之143
7.10.4 空間多邊形的法向量144
7.10.5 更一般多邊形的符號(hào)面積145
7.10.6 傾斜原理145
7.10.7 重心坐標(biāo)的模擬146
7.11 討論147
7.12