計(jì)算機(jī)圖形學(xué)實(shí)踐教程
定 價(jià):39 元
- 作者:孔令德 著
- 出版時(shí)間:2013/3/1
- ISBN:9787302297512
- 出 版 社:清華大學(xué)出版社
- 中圖法分類:TP312
- 頁碼:349
- 紙張:膠版紙
- 版次:2
- 開本:16開
讀者對(duì)象:不僅可以作為學(xué)習(xí)《計(jì)算機(jī)圖形學(xué)基礎(chǔ)教程 (Visual C++版) (第2版)》的輔助教材, 也可作為上機(jī)實(shí)踐教材, 還可供從事游戲開發(fā)的程序員自學(xué)使用
《高等學(xué)校計(jì)算機(jī)專業(yè)教材精選·圖形圖像與多媒體技術(shù):計(jì)算機(jī)圖形學(xué)實(shí)踐教程(Visual C++版)(第2版)》是《計(jì)算機(jī)圖形學(xué)基礎(chǔ)教程(Visual C++版)(第2版)》的姊妹篇。編寫原則是將計(jì)算機(jī)圖形學(xué)的基本原理與其體編程實(shí)踐相結(jié)合起來。本書選用面向?qū)ο蟪绦蛟O(shè)計(jì)語言Visual C++6.O的MFC框架作為開發(fā)平臺(tái),可以更好地展示真彩色以及對(duì)圖形的交互式操作。
《高等學(xué)校計(jì)算機(jī)專業(yè)教材精選·圖形圖像與多媒體技術(shù):計(jì)算機(jī)圖形學(xué)實(shí)踐教程(Visual C++版)(第2版)》共給出60個(gè)案例,內(nèi)容包括直線中點(diǎn)Bresenham算法、多邊形有效邊表填充算法、三維圖形幾何變換算法、透視投影算法、地理劃分球面動(dòng)態(tài)隱線算法、Z-Buffer算法、球面光源和材質(zhì)交互算法、球面Phong明暗處理算法、簡(jiǎn)單透明模型算法、簡(jiǎn)單陰影算法、立方體圖像紋理映射算法、圓環(huán)面圖像紋理映射算法、三維紋理映射算法、球面幾何紋理映射反走樣算法等。
《高等學(xué)校計(jì)算機(jī)專業(yè)教材精選·圖形圖像與多媒體技術(shù):計(jì)算機(jī)圖形學(xué)實(shí)踐教程(Visual C++版)(第2版)》的所有案例全部由筆者獨(dú)立開發(fā),具有自主知識(shí)產(chǎn)權(quán)。在第1版的基礎(chǔ)上新增了Sutherland Hodgman多邊形裁剪算法、球面光源與材質(zhì)交互算法、簡(jiǎn)單透明模型算法、簡(jiǎn)單陰影算法、三維紋理映射算法、球面幾何紋理映射反走樣算法等案例,豐富了計(jì)算機(jī)圖形學(xué)精品課程的建設(shè)內(nèi)容。
本書使用類結(jié)構(gòu)編寫,代碼統(tǒng)一,注釋規(guī)范,讀者可以很容易地按照本書提供的源程序開發(fā)自己的圖形學(xué)作品。
本書不僅可以作為學(xué)習(xí)《計(jì)算機(jī)圖形學(xué)基礎(chǔ)教程(Visual C++版)(第2版)》的輔助教材,也可作為上機(jī)實(shí)踐教材,還可供從事游戲開發(fā)的程序員自學(xué)使用。
《高等學(xué)校計(jì)算機(jī)專業(yè)教材精選·圖形圖像與多媒體技術(shù):計(jì)算機(jī)圖形學(xué)實(shí)踐教程(Visual C++版)(第2版)》給出60個(gè)案例,內(nèi)容包括直線中點(diǎn)Bresenham算法、多邊形有效邊表填充算法、三維圖形幾何變換算法、透視投影算法、地理劃分球面動(dòng)態(tài)隱線算法、Z-Buffer算法、球面光源和材質(zhì)交互算法、球面Phong明暗處理算法、簡(jiǎn)單透明模型算法、簡(jiǎn)單陰影算法、立方體圖像紋理映射算法、圓環(huán)面圖像像紋理映射算法、三維紋理映射算法、球面幾何紋理映射反走樣算法等的實(shí)現(xiàn)步驟,并提供了全部源代碼! 陡叩葘W(xué)校計(jì)算機(jī)專業(yè)教材精選·圖形圖像與多媒體技術(shù):計(jì)算機(jī)圖形學(xué)實(shí)踐教程(Visual C++版)(第2版)》使用類架構(gòu)編寫,包括基礎(chǔ)類、變換類、消隱類、渲染類等,采用“搭積本”的方式構(gòu)造了三維光照?qǐng)鼍埃x者只要修改物體的數(shù)據(jù)結(jié)構(gòu)(點(diǎn)表與面表)就可以繪制出真實(shí)感圖形;A(chǔ)類包括二維點(diǎn)類CP2、二維紋理類CT2、三維點(diǎn)類CP3、三維紋理CT3、表面類CFace、顏色類CRGB、矢量類CVector等,使用基礎(chǔ)類可以完成物體的基礎(chǔ)設(shè)置。CTransform變換類可以對(duì)物體實(shí)施二維或三維變換。CZbuffer消隱類可以對(duì)表面模型進(jìn)行深度消隱。渲染類包括材質(zhì)類CMaterial、光源類CLiglit、光照類CLighting等。綜合使用以上類可以完全實(shí)現(xiàn)本書的姊妹篇《計(jì)算機(jī)圖形學(xué)基礎(chǔ)教程(VisualC++版)(第2版)》中講解的所有計(jì)算機(jī)圖形學(xué)原理。綜合本書的所有案例,相當(dāng)于為讀者提供了一個(gè)使用MFC開發(fā)的小型“OpenGL”,引導(dǎo)讀者從零開始逐步掌握機(jī)算機(jī)圖形學(xué)原理與編程實(shí)現(xiàn)方法。
本書是《計(jì)算機(jī)圖形學(xué)基礎(chǔ)教程(Visual C++版)(第2版)》配套的實(shí)踐教程。對(duì)于主教材中講解的每個(gè)原理,本書均給出了配套的算法實(shí)現(xiàn)源代碼!队(jì)算機(jī)圖形學(xué)基礎(chǔ)教程(Visual C++版)(第2版)》完善了光照模型、新增了簡(jiǎn)單透明模型、簡(jiǎn)單陰影模型以及圖像紋理與幾何紋理等內(nèi)容。相應(yīng)地,本書增加了球面Phong明暗處理、簡(jiǎn)單透明模型、簡(jiǎn)單陰影、立方體函數(shù)紋理映射、長(zhǎng)方體圖像紋理映射、圓柱面圖像紋理映射、圓環(huán)面圖像紋理映射、三維紋理映射、球面幾何紋理映射、球面幾何紋理映射反走樣等算法,共計(jì)60個(gè)案例。60個(gè)案例的源代碼使用類的架構(gòu)建設(shè),教師每講解完一個(gè)原理就定義一個(gè)類,該類可以包含到后續(xù)案例中使用,不必每個(gè)案例都從零開始建設(shè)。本書提供的主要原理級(jí)類模塊包括:CLine直線類、CALine反走樣直線類、CFill有效邊表填充類、CTransform幾何變換類、CZBuffer深度緩沖類、CMaterial材質(zhì)類、CLight光源類、CLighting光照類等。為了支持原理類的運(yùn)行,定義了一些必要的基礎(chǔ)類,具體包括:CP2二維點(diǎn)類、CP3三維點(diǎn)類、CFace表面類、CVector矢量類和CRGB顏色類等;谝陨项惸K,讀者可以學(xué)會(huì)對(duì)物體施加光照,改變材質(zhì)或進(jìn)行紋理映射。在場(chǎng)景中使用鼠標(biāo)、鍵盤來旋轉(zhuǎn)物體或按下“動(dòng)畫”圖標(biāo)按鈕來播放物體旋轉(zhuǎn)的動(dòng)畫,基本達(dá)到OpenGL或3ds max渲染的圖形效果。
本書使用“案例需求”、“案例分析”、“算法設(shè)計(jì)”、“案例設(shè)計(jì)”和“案例總結(jié)”的五部曲編寫,講解清晰、注釋清晰。筆者在個(gè)人網(wǎng)站:http://www.klingde.com上提供了全部60個(gè)案例源代碼,供讀者教學(xué)之用。每個(gè)案例都經(jīng)過了嚴(yán)格測(cè)試,讀者只要編譯、連接、運(yùn)行就可以看到動(dòng)畫效果。筆者對(duì)該網(wǎng)站所提供的案例源代碼享有著作權(quán),請(qǐng)讀者一起維護(hù)知識(shí)產(chǎn)權(quán)。感謝國(guó)內(nèi)高校教師對(duì)筆者第1版中43個(gè)案例的肯定,敬請(qǐng)教學(xué)一線的計(jì)算機(jī)圖形教師對(duì)本書提供的案例提出寶貴的修改建議。筆者E-mail: klingde@163.com, QQ: 997796978.
本書得到2011年山西省重點(diǎn)教改項(xiàng)目“圖形圖像處理系列課程實(shí)踐教學(xué)資源與平臺(tái)的建設(shè)”的資助。本書所提供的60個(gè)實(shí)踐教學(xué)資源已經(jīng)于2012年底榮獲山西省教學(xué)成果一等獎(jiǎng),獲獎(jiǎng)項(xiàng)目名稱為:計(jì)算機(jī)圖形學(xué)實(shí)踐教學(xué)資源庫的建設(shè)。
孔令德2012年10月第1版前言
計(jì)算機(jī)圖形學(xué)是交互式圖形開發(fā)的基本理論,同時(shí)也是一門實(shí)踐性的學(xué)科。筆者積累了十多年的計(jì)算機(jī)圖形學(xué)講授經(jīng)驗(yàn),使用Visual C++6.0的MFC框架開發(fā)了涉及“基本圖形的掃描轉(zhuǎn)換”、“多邊形填充”、“二維變換和裁剪”、“三維變換和投影”、“自由曲線和曲面”、“分形幾何”、“動(dòng)態(tài)消隱”和“真實(shí)感圖形”等章節(jié)內(nèi)容的43個(gè)案例。
本書是《計(jì)算機(jī)圖形學(xué)基礎(chǔ)教程(Visual C++版)》(ISBN 978-7-302-17082-2)的配套實(shí)踐教程。對(duì)于Visual C++的MFC框架,本書從使用者的角度進(jìn)行了詳細(xì)操作說明。本書的程序給出了*.h文件和*.cpp文件,算法編寫規(guī)范,注釋清晰,讀者可以很容易地按照本書提供的源程序一步一步地完成上機(jī)實(shí)踐。
學(xué)習(xí)完本書,讀者可以建立三維場(chǎng)景,對(duì)形體施加光照,改變材質(zhì)或?qū)崿F(xiàn)紋理映射。在場(chǎng)景中使用鼠標(biāo)、鍵盤來控制形體的旋轉(zhuǎn)和動(dòng)畫,基本達(dá)到OpenGL或3DS生成的圖形效果。
本書中有許多案例是筆者工作的基礎(chǔ),如有效邊表填充算法、透視投影變換、Gouraud明暗處理、Z-Buffer消隱算法和光照模型等,希望讀者認(rèn)真體會(huì)和理解。
筆者負(fù)責(zé)主持山西省精品課程“C++程序設(shè)計(jì)”和院級(jí)精品課程“計(jì)算機(jī)圖形學(xué)”,本書是面向?qū)ο笳Z言和計(jì)算機(jī)圖形學(xué)原理相結(jié)合形成的產(chǎn)物,是筆者十多年教學(xué)科研工作成果的總結(jié)。
孔令德
案例1 金剛石圖案算法
案例2 直線中點(diǎn)Bresenham算法
案例3 圓中點(diǎn)Bresenham算法
案例4 橢圓中點(diǎn)Bresenham算法
案例5 Wu反走樣直線算法
案例6 多邊形有效邊表填充算法
案例7 多邊形邊緣填充算法
案例8 四鄰接點(diǎn)種子填充算法
案例9 區(qū)域八鄰接點(diǎn)種子填充算法
案例10 掃描線種子填充算法
案例11 二維圖形幾何變換算法
案例12 Cohen-Sutherland直線段裁剪算法
案例13 中點(diǎn)分割直線段裁剪算法
案例14 Liang-Barsky直線段裁剪算法
案例15 Sutherland-Hodgman多邊形裁剪算法
案例16 三維圖形幾何變換算法
案例17 正交投影算法
案例18 三視圖算法
案例19 透視投影算法
案例20 n次Bczier曲線方程算法
案例21 n次Bezier曲線de Casteljau算法
案例22 雙三次Bezier曲面算法
案例23 三次B樣條曲線算法
案例24 雙三次B樣條曲面算法
案例25 Cantor集算法
案例26 Koch曲線算法
案例27 Peano-Hilbert曲線算法
案例28 Sierpinski墊片算法
案例29 Sierpinski地毯算法
案例30 Mcnger海綿算法
案例31 C字曲線算法
案例32 Cayley樹算法
案例33 Koch曲線L系統(tǒng)模型算法
案例34 分形草L系統(tǒng)模型算法
案例35 Peano-Hilbert曲線L系統(tǒng)模型算法
案例36 灌木叢L系統(tǒng)模型算法
案例37 Koch曲線IFS算法
案例38 正二十面體動(dòng)態(tài)隱線算法
案例39 地理劃分球面動(dòng)態(tài)隱線算法
案例40 遞歸劃分球面動(dòng)態(tài)隱線算法
案例41 圓柱面動(dòng)態(tài)隱線算法
案例42 圓錐面動(dòng)態(tài)隱線算法
案例43 圓環(huán)面動(dòng)態(tài)隱線算法
案例44 Z-Buffer算法
案例45 畫家算法
案例46 原色系統(tǒng)算法
案例47 顏色漸變立方體線框模型算法
案例48 RGB顏色模型算法
案例49 HSV顏色模型算法
案例50 球面光源與材質(zhì)交互算法
案例51 球面Phong明暗處理算法
案例52 簡(jiǎn)單透明模型算法
案例53 簡(jiǎn)單陰影算法
案例54 立方體函數(shù)紋理映射算法
案例55 長(zhǎng)方體圖像紋理映射算法
案例56 圓柱面圖像紋理映射算法
案例57 圓環(huán)面圖像紋理映射算法
案例58 三維紋理映射算法
案例59 球面幾何紋理映射算法
案例60 球面幾何紋理反走樣算法
參考文獻(xiàn)