計算機圖形學原理與實現
定 價:¥59
中 教 價:¥35.40 (6.00折)
庫 存 數: 4
叢 書 名:全國高等學校計算機教育研究會“十四五”系列教材
本書對計算機圖形學的基本原理進行了深入淺出的闡述,書中不僅配有豐富的圖例和例題,而且采用C語言對課程主要算法進行了編程實現,并以實現OpenGL狀態機為主線將課程主要知識點串連起來。這種理論和實踐相結合的方式極大地方便了讀者對抽象的計算機圖形學理論的系統理解和掌握。本書共10章,內容包括緒論、計算機圖形系統、OpenGL編程環境介紹、基本圖形生成算法、二維變換和二維觀察、三維變換和三維觀察、三維對象的表示、消隱計算、顏色模型以及真實感圖形繪制。本書可作為高等院校計算機圖形學理論的課程教材,也可作為從事計算機圖形處理技術及其他有關工程技術人員的參考書。
本教材最大的特色為理論聯系實踐。教材除了對圖形學原理進行了深入淺出的推導外,還對計算機圖形學常見的算法采用C語言 OpenGL進行了編程實現,對主要知識點均配有豐富的例題。這種理論聯系實踐的方式可以最大限度地降低讀者的學習難度。
計算機圖形學經過近幾十年的發展,已經滲透到各行各業,在經濟建設中發揮著重要作用。2018年,編者在北京師范大學出版社出版了《計算機圖形學原理與實現》,該書對圖形學基本算法進行了C語言編程實現。為適應我國計算機圖形學教學的最新要求,編者對上述教材進行了修訂。與上一本教材的最大區別在于,本書以實現OpenGL狀態機原型為主線,采用C語言對圖形學基本算法進行了重新編程實現,以便更清晰地展示圖形學知識點間的相互關聯。本書既可以作為高等院校本科生教材,也可以作為相關行業工程技術人員的參考書。本書內容在安排上循序漸進,對理論的講解通俗易懂,總體來講有如下兩個特點。(1) 深入淺出的理論介紹。為便于讀者快速理解計算機圖形學的基本理論,本書在內容安排上循序漸進,用深入淺出的算法推導、豐富的例題和圖例對計算機圖形學基本理論進行了全面的介紹。(2) 理論與工程實踐相結合。本書對計算機圖形學中的主要算法進行了編程實現,并模擬實現了OpenGL狀態機的功能。這種理論與實踐相結合的漸進式組織方式便于學生對課程內容形成系統理解。書中的主要算法均給出了完整的源程序代碼及其運行界面。為兼顧不同讀者對編程語言的掌握程度,本書采用C語言作為程序開發語言,并且基于Win32控制臺應用程序的形式展示程序運行結果。具體而言,本書10章內容之間的關系如圖所示。由于編者水平有限,本書難免存在不足之處,懇請專家和讀者批評指正。編者2024年1月
第1章緒論11.1計算機圖形學基本概念11.1.1計算機圖形學的定義11.1.2圖形和圖像11.1.3計算機圖形學、數字圖像處理與模式識別21.2計算機圖形學發展歷史21.3計算機圖形學的應用41.3.1用戶接口41.3.2計算機輔助設計41.3.3數字娛樂51.3.4計算機輔助繪圖51.3.5計算機輔助教學61.3.6科學計算可視化61.3.7計算機藝術7習題8第2章計算機圖形系統92.1計算機圖形系統概述92.1.1計算機圖形系統的功能92.1.2計算機圖形系統的結構102.2計算機圖形硬件設備102.2.1圖形輸入設備102.2.2圖形顯示設備122.2.3圖形繪制設備172.3計算機圖形軟件182.3.1計算機圖形軟件分類182.3.2用戶接口設計192.3.3基本交互式繪圖技術21習題22計算機圖形學原理與實現目錄第3章OpenGL編程環境介紹233.1Visual Studio集成開發環境簡介233.2使用Visual Studio 2022創建新項目233.3OpenGL簡介263.3.1OpenGL概述263.3.2OpenGL的主要功能273.3.3OpenGL狀態機簡介283.3.4OpenGL狀態機原型簡介283.3.5Windows編程簡介33習題36第4章基本圖形生成算法374.1掃描轉換的定義374.2直線的掃描轉換384.2.1DDA畫線法384.2.2中點畫線法414.2.3Bresenham畫線法454.3圓的掃描轉換484.3.1根據圓的方程畫圓484.3.2中點畫圓法494.3.3Bresenham畫圓法534.4區域填充564.4.1掃描線多邊形填充算法564.4.2邊緣填充算法634.4.3種子填充算法654.4.4其他填充算法684.4.5區域填充的屬性處理694.5屬性處理694.5.1直線的線型處理694.5.2直線的線寬處理704.5.3曲線的線寬處理744.6字符774.6.1基本概念774.6.2點陣字符774.6.3矢量字符774.7反走樣784.7.1提高分辨率794.7.2簡單區域取樣804.7.3加權區域取樣81習題82第5章二維變換和二維觀察835.1圖形變換基本知識835.1.1矢量和矩陣835.1.2齊次坐標855.2基本二維變換865.2.1平移變換865.2.2旋轉變換865.2.3縮放變換875.2.4基本二維變換的矩陣表示885.2.5其他變換955.3二維復合變換1005.3.1連續平移1005.3.2連續旋轉1005.3.3連續縮放1015.3.4通用基準點的變換1015.3.5通用方向的變換1045.3.6二維變換總結1065.4二維觀察1075.4.1二維觀察流程1075.4.2用戶坐標系到觀察坐標系的變換1085.4.3窗口到視區的變換1095.4.4二維裁剪概述110習題127第6章三維變換和三維觀察1296.1三維變換概述1296.2三維幾何變換1306.2.1三維平移變換1306.2.2三維變比變換1376.2.3三維旋轉變換1396.2.4三維反射變換1436.2.5三維錯切變換1456.2.6三維復合變換1476.3三維投影變換1576.3.1三維投影變換的分類1576.3.2三視圖1596.3.3正軸測1616.3.4斜平行投影1646.3.5透視投影1666.4三維觀察1736.4.1觀察坐標系1736.4.2觀察空間1746.4.3三維觀察流程175習題176第7章三維對象的表示1777.1三維對象表示方法概述1777.1.1三維圖形的基本問題1777.1.2數據模型1777.1.3過程模型1787.2多邊形表面1797.2.1多邊形表面概述1797.2.2多邊形表面表示法1797.3二次曲面1807.3.1球面1807.3.2橢球面1807.3.3環面1807.3.4超二次曲面1807.4樣條曲線概述1817.4.1樣條的基本概念1817.4.2樣條曲線的分類1817.5Hermite樣條曲線1847.6Bzier曲線和曲面1867.6.1Bzier曲線的定義1867.6.2Bernstein基函數的性質1867.6.3常見的Bzier曲線1877.6.4Bzier曲線的性質1887.6.5Bzier曲線的繪制1907.6.6Bzier曲面1947.7B樣條曲線和曲面1957.7.1B樣條曲線的定義1957.7.2常見的B樣條曲線1967.7.3B樣條曲線的性質1987.7.4B樣條曲線的分類1997.7.5B樣條曲面1997.8空間分區表示方法1997.8.1立體構造1997.8.2八叉樹2007.8.3BSP樹2027.9非規則對象表示方法2027.9.1分形幾何方法2027.9.2粒子系統2037.9.3基于物理的建模2057.9.4數據可視化205習題205第8章消隱計算2078.1消隱概述2078.1.1消隱的定義2078.1.2消隱的分類2078.1.3消隱算法的原則2088.2Z緩沖區算法2098.3區域掃描線算法2118.4深度排序算法2138.5光線跟蹤算法2158.6BSP算法215習題216第9章顏色模型2179.1光的特性2179.1.1電磁頻譜2179.1.2顏色的心理學特征2189.2顏色模型的定義2189.3標準基色和色度圖2199.4RGB顏色模型2219.5CMY顏色模型2229.6HSV顏色模型222習題223第10章真實感圖形繪制22410.1簡單光照模型22410.1.1環境反射光22510.1.2漫反射光22510.1.3鏡面反射光22610.1.4光強衰減22810.1.5顏色處理22810.2明暗處理23010.2.1恒定光強的明暗處理23010.2.2Gouraud明暗處理23010.2.3Phong明暗處理23210.3陰影處理23310.3.1自身陰影生成23310.3.2投射陰影生成23310.4透明處理23410.4.1透明效果的簡單模擬23410.4.2考慮折射的透明處理23510.5整體光照模型與光線跟蹤23610.5.1整體光照模型概述23610.5.2Whitted光照模型23710.5.3光線跟蹤算法23810.6紋理映射23910.6.1顏色紋理處理23910.6.2幾何紋理處理241習題242參考文獻243