本書是講述計算機圖形學基本原理和最新進展的一本圖形學基礎教材,是作者在清華大學多年教學經(jīng)驗的基礎上,同時參考了國內(nèi)外最新的相關教材和部分最新的研究成果編寫而成。本書按內(nèi)容分為5章,分別講授計算機圖形學的最新概況,光柵圖形學的基本原理,幾何造型技術的基礎,真實感圖形學的基礎知識和圖形標準;旧虾w了圖形學的主要內(nèi)容。
本書可作為各高等院校本科生、研究生學習計算機圖形學的教材,并可供相關專業(yè)技術人員和計算機教育工作者參考使用。
作 者 簡 歷
孫家廣 清華大學教授,清華大學信息學院院長兼軟件學院院長,清華大學學術委員會副主任,國務院學位委員會委員、學科評議組成員、教育部計算機科學與技術教育指導委員會副主任、軟件工程教育指導委員會主任、國家企業(yè)信息化軟件工程技術研究中心主任、信息科學技術國家實驗室主任、中國工程圖學學會理事長、國家自然科學基金委員會副主任。1999年選為中國工程院院士。孫家廣長期從事計算機圖形學、輔助設計、軟件形式化驗證及軟件工程與系統(tǒng)的教學研究工作, 在基于Web技術的產(chǎn)品數(shù)據(jù)管理框架,線框、曲面、實體和特征統(tǒng)一表示的造型算法,多資源、多事件、多進程協(xié)同軟件開發(fā)工具等方面取得了創(chuàng)新性成果。
胡事民 清華大學計算機系教授,計算機系學位分委員會主席,可視媒體研究中心主任,教育部長江學者獎勵計劃特聘教授。 2002年獲得國家杰出青年基金資助,2006年被聘為國家重大基礎研究(973)計劃項目首席科學家。 主要從事計算機圖形學與人機交互、幾何計算、智能信息處理等方面的教學與研究工作,已在ACM/IEEE Transactions和Computer Aided Design等重要國際刊物上發(fā)表論文40余篇。擔任多個國際重要會議的程序委員會主席和委員及Elsevier期刊 Computer Aided Design的編委。
序
清華大學計算機系列教材已經(jīng)出版發(fā)行了近30種,包括計算機專業(yè)的基礎數(shù)學、專業(yè)技術基礎和專業(yè)等課程的教材,覆蓋了計算機專業(yè)大學本科和研究生的主要教學內(nèi)容。這是一批至今發(fā)行數(shù)量很大并贏得廣大讀者贊譽的書籍,是近年來出版的大學計算機教材中影響比較大的一批精品。
本系列教材的作者都是我熟悉的教授與同事,他們長期在第一線擔任相關課程的教學工作,是一批很受大學生和研究生歡迎的任課教師。編寫高質量的大學(研究生)計算機教材,不僅需要作者具備豐富的教學經(jīng)驗和科研實踐,還需要對相關領域科技發(fā)展前沿的正確把握和了解。正因為本系列教材的作者們具備了這些條件,才有了這批高質量優(yōu)秀教材的出版?梢哉f,教材是他們長期辛勤工作的結晶。本系列教材出版發(fā)行以來,從其發(fā)行的數(shù)量、讀者的反映、已經(jīng)獲得的許多國家級與省部級的獎勵,以及在各個高等院校教學中所發(fā)揮的作用上,都可以看出本系列教材所產(chǎn)生的社會影響與效益。
計算機科技發(fā)展異常迅速、內(nèi)容更新很快。作為教材,一方面要反映本領域基礎性、普遍性的知識,保持內(nèi)容的相對穩(wěn)定性;另一方面,又需要跟蹤科技的發(fā)展,及時地調整和更新內(nèi)容。本系列教材都能按照自身的需要及時地做到這一點,如《計算機組成與結構》一書10年中共出版了3版,其他如《數(shù)據(jù)結構》等也都已出版了第2版,使教材既保持了穩(wěn)定性,又達到了先進性的要求。本系列教材內(nèi)容豐富、體系結構嚴謹、概念清晰、易學易懂,符合學生的認識規(guī)律,適合于教學與自學,深受廣大讀者的歡迎。系列教材中多數(shù)配有豐富的習題集和實驗,有的還配備多媒體電子教案,便于學生理論聯(lián)系實際地學習相關課程。
隨著我國進一步的開放,我們需要擴大國際交流,加強學習國外的先進經(jīng)驗。在大學教材建設上,也應該注意學習和引進國外的先進教材。但是,計算機系列教材的出版發(fā)行實踐以及它所取得的效果告訴我們,在當前形勢下,編寫符合國情的具有自主版權的高質量教材仍具有重大意義和價值。它與前者不僅不矛盾,而且是相輔相成的。本系列教材的出版還表明,針對某個學科培養(yǎng)的要求,在教育部等上級部門的指導下,有計劃地組織任課教師編寫系列教材,還能促進對該學科科學的、合理的教學體系和內(nèi)容的研究。
我希望今后有更多、更好的優(yōu)秀教材出版。
清華大學計算機系教授,中科院院士
2007年6月28日
第2版前言
本書是在2005版《計算機圖形學基礎教程》的基礎上修訂而成。
《計算機圖形學基礎教程》是根據(jù)作者在清華大學多年教學實踐,并參考了國內(nèi)外最新的相關教材和部分最新的研究成果編寫而成。第2版教材主要修訂了以下內(nèi)容:
1. 增加了第1章的1.5節(jié),介紹清華大學近年來的最新研究成果。
2. 增加了第3章的3.9節(jié),介紹網(wǎng)格表示、簡化與細分。
3. 增加了第4章的4.1節(jié),介紹圖形繪制的基本概念和流程,提高本章整體上的可讀性。
4. 將第4章4.8節(jié)層次細節(jié)的內(nèi)容移入第3章的3.9節(jié),增加有關景物模擬的內(nèi)容。
5. 刪除第5章VRML的內(nèi)容,改寫Open GL的內(nèi)容,增加一些常見的功能,并給出更多的示例。
本教程第1版出版4年來,被國內(nèi)一大批高等院校采用,相關的老師、同學及讀者提出了許多寶貴的建議,在此表示衷心感謝。徐昆、來煜坤參與了第2版教材的修訂,在此也一并表示感謝。
作 者2009年4月
第1版前言
計算機圖形學是利用計算機研究圖形的表示、生成、處理和顯示的一門重要的計算機學科分支,是計算機學科中最活躍的分支之一。
隨著計算機系統(tǒng)的硬件、軟件的迅速發(fā)展,計算機已經(jīng)具有強大的圖形處理功能,目前計算機圖形學已無所不在,從CAD設計到廣告設計、從影視娛樂到計算機動畫,都使人們感受到計算機圖形技術獨特的魅力。同時,由于計算機圖形學技術本身的長足進步及其應用的日益廣泛,計算機圖形學已成為計算機科學技術與其他應用學科之間的一個橋梁,也已成為許多本科生專業(yè)的必修課程之一。
如何在較短時間內(nèi)成為一個計算機圖形學入門者,領悟并有能力實現(xiàn)那激動人心的計算機圖形效果?本書希望起到這樣一個目的。本書分為光柵圖形學、幾何造型技術、真實感圖形學和圖形標準4個技術專題,涵蓋了當前圖形學的基本內(nèi)容,題材新舊結合,篇幅精練,難度錯落有致。書中各主題間又相對獨立,適合于計算機專業(yè)本科專業(yè)的課程教學,也便于自學。
通過本書的學習,讀者可以快速掌握計算機圖形學實現(xiàn)原理,感受最新圖形學進展。本書同時配備有OpenGL和VRML的技術講解,力圖讓學習者學以致用。無論是CAD幾何造型用戶、動畫設計用戶、圖形學軟件設計師,還是未來的計算機圖形學研究者,本書都將為讀者打下扎實的知識基礎,從而讓今后的工作、學習更加得心應手。
計算機圖形學是一門實踐性很強的計算機學科,內(nèi)容變化日新月異,本書在保留經(jīng)典圖形學的必要內(nèi)容外,對最近十多年的研究近況作了介紹,力圖使讀者在掌握相應的知識后,能迅速跟上研究前沿。本書每章結束都附有相應的習題,讀者通過這些習題的思考和上機操作,可以加深對內(nèi)容的理解,達到理論與實踐相結合的目的。
相信每一位讀者通過本教材的學習,都能得到不同程度的收獲。
清華大學計算機系一直將圖形學作為本科生的一門重要課程,在大學三年級下學期開設此課。近10年來,我系主要使用清華大學出版社出版、孫家廣等編著的《計算機圖形學》作為本科教材。本書的第二作者自1998年以來,在主講圖形學的過程中,深切感到《計算機圖形學》一書內(nèi)容太多,急需一本內(nèi)容精練,能包含圖形學的主要內(nèi)容,又能介紹圖形學的最新技術的本科生教材。1999年,在清華大學985項目的支持下,開始編寫新的講義,經(jīng)過2000-2003年的使用、實踐,交付清華大學出版社出版。在編寫本教材的過程中,許多同事、研究生付出了辛苦的勞動。周登文副教授及研究生王斌、王濤、吳建華、許云杰等同學幫助整理部分初稿,研究生張慧、雍俊海、張松海、董未明、朱旭平、丁俊勇、郭鑌、嚴寒冰、靳力等作為圖形學課程的助教,曾提出過許多寶貴的建議,給予了許多幫助。車武軍博士在書稿寫作的后期,付出了許多辛苦的努力,他通讀全書,給出了許多建議,而且充實了一些章節(jié),使本書增色不少。在此向這些同事和學生表示衷心的感謝。
最后衷心希望讀者在閱讀過程中,對本書不足之處提出寶貴意見,以便我們能對書中內(nèi)容不斷加以完善,更好地為讀者服務。
作 者2005年2月
第1章 緒論1
1.1 計算機圖形學的研究內(nèi)容1
1.2 計算機圖形學發(fā)展的歷史回顧1
1.3 計算機圖形學的應用及研究前沿3
1.3.1 計算機輔助設計與制造3
1.3.2 可視化4
1.3.3 真實感圖形實時繪制與自然景物仿真5
1.3.4 計算機動畫6
1.3.5 用戶接口7
1.3.6 計算機藝術7
1.4 圖形設備8
1.4.1 圖形顯示設備8
1.4.2 圖形處理器12
1.4.3 圖形輸入設備13
1.5 最新研究成果15
1.5.1 繪制15
1.5.2 幾何16
1.5.3 視頻17
習題118
第2章 光柵圖形學19
2.1 直線段的掃描轉換算法19
2.1.1 數(shù)值微分法19
2.1.2 中點畫線法20
2.1.3 Bresenham算法22
2.2 圓弧的掃描轉換算法23
2.2.1 圓的特征23
2.2.2 中點畫圓法24
2.3 多邊形的掃描轉換與區(qū)域填充24
2.3.1 多邊形的掃描轉換25
2.3.2 區(qū)域填充算法28
2.4 字符31
2.4.1 點陣字符32
2.4.2 矢量字符32
2.4.3 字符屬性32
2.5 裁剪33
2.5.1 直線段裁剪33
2.5.2 多邊形裁剪37
2.5.3 字符裁剪40
2.6 反走樣40
2.6.1 提高分辨率40
2.6.2 區(qū)域采樣41
2.6.3 加權區(qū)域采樣42
2.7 消隱42
2.7.1 消隱的分類43
2.7.2 消除隱藏線43
2.7.3 消除隱藏面45
習題256
第3章 幾何造型技術57
3.1 參數(shù)曲線和曲面57
3.1.1 曲線曲面的表示57
3.1.2 曲線的基本概念58
3.1.3 插值、擬合和光順61
3.1.4 參數(shù)化62
3.1.5 參數(shù)曲線的代數(shù)和幾何形式63
3.1.6 連續(xù)性64
3.1.7 參數(shù)曲面的基本概念65
3.2 Bézier曲線與曲面66
3.2.1 Bézier曲線的定義和性質66
3.2.2 Bézier曲線的遞推算法69
3.2.3 Bézier曲線的拼接70
3.2.4 Bézier曲線的升階與降階71
3.2.5 Bézier曲面72
3.2.6 三邊Bézier曲面片74
3.3 B樣條曲線與曲面78
3.3.1 B樣條的遞推定義和性質78
3.3.2 B樣條曲線的性質79
3.3.3 de Boor 算法80
3.3.4 節(jié)點插入算法83
3.3.5 B樣條曲面84
3.4 NURBS曲線與曲面84
3.4.1 NURBS曲線的定義85
3.4.2 齊次坐標表示86
3.4.3 權因子的幾何意義86
3.4.4 圓錐曲線的NURBS表示87
3.4.5 NURBS曲線的修改87
3.4.6 非均勻有理B樣條(NURBS)曲面89
3.5 Coons曲面89
3.5.1 基本概念89
3.5.2 雙線性Coons曲面90
3.5.3 雙三次Coons曲面91
3.6 形體在計算機內(nèi)的表示92
3.6.1 引言93
3.6.2 形體表示模型94
3.6.3 形體的邊界表示模型99
3.7 求交分類104
3.7.1 求交分類簡介104
3.7.2 求交分類策略105
3.7.3 基本的求交算法106
3.8 實體造型系統(tǒng)簡介109
3.8.1 Parasolid系統(tǒng)110
3.8.2 ACIS系統(tǒng)112
3.9 三角網(wǎng)格114
3.9.1 三角網(wǎng)格的概念114
3.9.2 三角網(wǎng)格的半邊表示115
3.9.3 網(wǎng)格處理概述116
3.9.4 網(wǎng)格簡化117
3.9.5 網(wǎng)格細分119
3.9.6 特征敏感網(wǎng)格重剖120
習題3122
第4章 真實感圖形學124
4.1 真實圖像的生成124
4.2 顏色視覺125
4.2.1 基本概念126
4.2.2 三色學說127
4.2.3 CIE色度圖127
4.2.4 常用的顏色模型129
4.3 簡單光照明模型131
4.3.1 相關知識132
4.3.2 Phong光照明模型133
4.3.3 增量式光照明模型135
4.3.4 陰影的生成137
4.4 局部光照明模型138
4.4.1 理論基礎138
4.4.2 局部光照明模型140
4.5 光透射模型141
4.5.1 透明效果的簡單模擬141
4.5.2 Whitted光透射模型142
4.5.3 Hall光透射模型143
4.5.4 簡單光反射透射模型144
4.6 紋理及紋理映射145
4.6.1 紋理概述145
4.6.2 二維紋理域的映射146
4.6.3 三維紋理域的映射147
4.6.4 幾何紋理147
4.7 整體光照明模型148
4.7.1 光線跟蹤算法148
4.7.2 輻射度方法156
4.8 實時真實感圖形學技術163
4.8.1 基于圖像的繪制技術164
4.8.2 景物模擬165
習題4169
第5章 圖形標準170
5.1 OpenGL概述170
5.2 OpenGL程序結構172
5.3 基本幾何元素繪制174
5.4 坐標變換182
5.5 光照處理189
5.6 顯示列表194
5.7 紋理貼圖196
習題5201
附錄A 計算機圖形學的數(shù)學基礎202
A.1 矢量運算202
A.2 矩陣運算203
A.3 齊次坐標204
A.4 線性方程組的求解205
附錄B 圖形的幾何變換206
B.1 窗口區(qū)到視圖區(qū)的坐標變換206
B.2 二維圖形的幾何變換207
B.3 三維圖形幾何變換209
附錄C 形體的投影變換212
C.1 投影變換分類212
C.2 世界坐標與觀察坐標212
C.3 正平行投影(三視圖)213
C.4 斜平行投影214
C.5 透視投影214
參考文獻216