內容簡介
《計算機圖形學基礎》對計算機圖形學的基本概念、原理與方法進行瞭詳細介紹,主要內容包括計算機圖形學的發展及應用,圖形設備,圖形變換,多邊形的掃描轉換與區域填充,隱藏綫與隱藏麵的消隱,麯綫、麯麵的錶示,幾何造型技術,真實感圖形學,動畫技術,OpenGL程序設計基礎等。
《計算機圖形學基礎》針對圖形學的特點,為讀者提供瞭學習和掌握圖形軟件的一般實踐方法,為讀者深入學習圖形學的專門知識打下堅實的基礎。
《計算機圖形學基礎》的內容注重基礎性與實用性,可作為計算機專業的本科教材,同時,也可供研究生或從事計算機圖形學研究的專業人士參考。
內頁插圖
目錄
第1章 計算機圖形學的發展及應用
1.1 概述
1.2 計算機圖形學的發展
1.2.1 計算機圖形學的發展簡史
1.2.2 硬件設備的發展
1.3 計算機圖形學的應用
1.3.1 圖形用戶界麵
1.3.2 計算機輔助設計與製造
1.3.3 計算機動畫
1.3.4 科學計算可視化
1.3.5 計算機藝術
1.3.6 虛擬現實
1.3.7 真實感圖形繪製
1.4 計算機圖形學的研究熱點
1.4.1 真實感人臉建模研究
1.4.2 基於圖像的建模與繪製技術
1.4.3 體繪製技術
習題1
第2章 圖形設備
2.1 圖形輸入設備
2.1.1 常用的輸入設備
2.1.2 新型輸入設備
2.2 圖形繪製設備
2.2.1 繪圖儀
2.2.2 打印機
2.3 圖形顯示係統
2.3.1 CRT顯示器
2.3.2 顯示卡
2.3.3 液晶顯示器
2.4 圖形軟件
2.4.1 圖形軟件的類型與功能
2.4.2 圖形軟件標準
2.4.3 三維實時圖形軟件包
習題2
第3章 圖形變換
3.1 坐標係統
3.2 幾何變換
3.2.1 平移變換
3.2.2 縮放變換
3.2.3 鏇轉變換
3.2.4 錯切變換
3.2.5 反射變換
3.2.6 齊次坐標錶示
3.2.7 變換矩陣錶示
3.2.8 復閤變換
3.2.9 相對於任意參考點的幾何變換
3.3 投影變換
3.3.1 透視投影變換
3.3.2 平行投影變換
3.4 圖形裁剪
3.4.1 點的裁剪
3.4.2 直綫的裁剪
3.4.3 多邊形的裁剪
3.5 窗口概念及窗口到視區的變換
3.5.1 基本概念
3.5.2 窗口到視區的變換
習題3
第4章 多邊形的掃描轉換與區域填充
4.1 多邊形的掃描轉換
4.1.1 多邊形的掃描轉換的定義
4.1.2 逐點判斷算法(z掃描綫算法)
4.1.3 掃描綫算法
4.1.4 邊界標誌算法
4.2 區域填充技術
4.2.1 區域的錶示
4.2.2 遞歸算法
4.2.3 棧結構的種子填充算法
4.2.4 掃描綫填充算法
4.2.5 區域填充圖案
4.2.6 多邊形的掃描轉換與區域填充方法比較
4.3 反走樣
4.3.1 提高分辨率
4.3.2 直綫的區域采樣
習題4
第5章 隱藏綫與隱藏麵的消除
5.1 多麵體的隱藏綫消除
5.1.1 減少直綫求交
5.1.2 多麵體的隱藏綫消除
5.1.3 凹多麵體的隱藏綫消除
5.2 麯麵的隱藏綫消除
5.3 隱藏麵的消除
5.3.1 區域子分算法
5.3.2 畫傢算法
5.3.3 Z緩存算法
5.3.4 掃描綫算法
5.3.5 區間掃描綫算法
習題5
第6章 麯綫、麯麵的錶示
6.1 基礎知識
6.1.1 顯式、隱式和參數錶示
6.1.2 插值
6.1.3 逼近
6.1.4 麯綫的連續性
6.1.5 麯綫擬閤
6.1.6 三次Hermite樣條
6.2 Bezier麯綫、麯麵的錶示
6.2.1 Bezier麯綫的定義
6.2.2 Bezier麯綫的性質
6.2.3 Bezier麯綫的拼接
6.2.4 Bezier麯綫的離散生成
6.2.5 Bezier麯麵的定義
6.2.6 Bezier麯麵的性質
6.2.7 Bezier麯麵的拼接
6.3 B樣條麯綫、麯麵的錶示
6.3.1 B樣條麯綫的定義
6.3.2 B樣條麯綫的分類
6.3.3 B樣條麯綫的性質
6.3.4 非均勻有理B樣條麯綫
6.3.5 B樣條麯麵的定義
6.3.6 非均勻有理B樣條麯麵
習題6
第7章 幾何造型技術
7.1 綫框模型
7.2 錶麵模型
7.2.1 三維物體的邊界錶示
7.2.2 三維物體的掃描錶示
7.3 構造實體
7.3.1 正則形體及正則運算
7.3.2 構造實體的幾何錶示
7.3.3 光綫投射算法
7.4 空間劃分錶示法
7.4.1 空間位置枚舉錶示
7.4.2 八叉樹錶示
7.4.3 八叉樹節點的編碼方式
習題7
第8章 真實感圖形學
8.1 顔色模型
8.1.1 CIE色度圖
8.1.2 常用的顔色模型
8.2 簡單光照明模型
8.2.1 Lambert模型
8.2.2 Phong光照明模型
8.3 增量式光照明模型
8.3.1 雙綫性光強插值(Gouraud明暗處理)
8.3.2 雙綫性法嚮插值(Phong明暗處理)
8.4 陰影的産生
8.4.1 陰影多邊形算法
8.4.2 陰影緩存器方法
8.5 整體光照模型
8.5.1 透明效果的簡單模擬
8.5.2 Whitted光透射模型
8.5.3 Hall光透射模型
8.6 光綫跟蹤算法
8.6.1 算法原理
8.6.2 光綫與物體求交
8.6.3 光綫跟蹤算法的加速
習題8
第9章 動畫技術
9.1 動畫簡介
9.1.1 國外影視動畫發展概況
9.1.2 國內影視動畫發展現狀
9.2 動畫開發工具
9.2.1 超強3D動畫製作工具AvidSoltimage-XSI
9.2.2 三維非綫性動畫創作係統Sumatra
9.2.3 Alias/Wavefronl.MAYA
9.2.4 3DSmax
9.2.5 Lightwave3D
9.3 計算機動畫技術
9.3.1 關鍵幀動畫技術
9.3.2 基於物理的動畫技術
9.3.3 過程動畫
9.3.4 群體行為動畫
9.3.5 運動捕捉技術
9.4 三維動畫設計
9.4.1 三維動畫的製作過程
……
第10章 openGL程序設計基礎
參考文獻
精彩書摘
1.2.2硬件設備的發展
圖形輸齣包括圖形顯示和圖形繪製。圖形顯示指的是在屏幕上輸齣圖形。圖形繪製通常指把圖形畫在紙上,也稱硬拷貝。打印機和繪圖儀是兩種最常用的硬拷貝設備。
專用的圖形顯示器起源於20世紀60年代中期的畫綫顯示器(亦稱矢量顯示器),其特點是需要刷新,圖形可以隨時更新,缺點是設備昂貴,限製瞭該設備的普及。60年代後期齣現瞭存儲管式顯示器,該顯示器不需刷新,價格較低,缺點是不具有動態修改圖形功能,不適閤交互式繪圖。70年代初,刷新式光柵掃描顯示器的齣現,大大地推動瞭交互式圖形技術的發展。尤其是彩色光柵掃描顯示器的齣現,更將人們帶到瞭一個多彩的世界。光柵掃描顯示器以點陣形式錶示圖形,使用專用的緩衝區存放點陣,由視頻控製器負責刷新掃描。
到瞭21世紀,LCD(Liquid Crystal Display,液晶顯示器)成為主流顯示設備。LCD的特點是外觀小巧精緻,厚度隻有6.5~8 cm左右,遠小於CRT顯示器。由於液晶像素總是發光,隻有加上不發光的電壓時該點纔變黑,因此不會産生像CRT那樣的因為刷新頻率低而齣現的閃爍現象。而且它的工作電壓低,功耗小,節約能源,沒有電磁輻射,對人體健康影響較小。
另外,LCD不隻應用在顯示器方麵,電子錶、手持遊戲機以及PDA等産品中都能見到LCD的影子。在LCD不斷發展的同時,其他平麵顯示器也在進步中,如等離子顯示器、場緻發射顯示器、發光聚閤體顯示器等。
最常用的圖形輸入設備就是基本的計算機輸入設備——鍵盤和鼠標。人們一般利用一些圖形軟件,通過鍵盤和鼠標直接在屏幕上定位和輸入圖形。如人們常用的CAD係統就是通過鼠標和鍵盤命令生成各種工程圖的。此外還有跟蹤球、空間球、數據手套、光筆、觸摸屏等輸入設備。跟蹤球和空間球都是根據球在不同方嚮受到的推或拉的壓力來實現定位和選擇的。數據手套則是通過傳感器及天綫來獲得和發送手指的位置與方嚮信息的。這幾種輸入設備在虛擬現實場景的構造和漫遊中特彆有用。
前言/序言
計算機圖形學是計算機輔助設計/製造(CAD/CAM)技術的基礎學科之一,主要研究用計算機及其圖形設備來輸入、錶示、變換、運算和輸齣圖形的原理、算法及係統。隨著微機的日益普及,計算機圖形學發展迅速,並應用於各個領域。
本書介紹瞭計算機圖形學的基礎知識和基本概念,內容安排有較廣的適應麵,能滿足各專業的基本教學需要,同時注重實踐環節,注意用典型的算法和習題啓迪讀者的思維,培養其獨立研究、獨立工作的能力。本書還注意反映該學科領域的發展動嚮,以利於開闊讀者眼界,適應高新技術的快速發展。
本書介紹的內容主要有:計算機圖形學的發展和應用;計算機圖形設備和係統;基本圖形生成算法;圖形變換和裁剪;窗口係統;多邊形的掃描轉換與區域填充;隱藏綫與隱藏麵的消除;幾何造型的理論和算法;顔色、光照模型及真實圖形顯示技術;OpenGL圖形處理係統等。
本書是作者在參考國內外同類書籍,吸收國內外近十年來在計算機圖形學方麵的新成果,並廣泛徵求國內同行的意見和建議的基礎上編寫而成的。本書的特點是既注重討論計算機圖形學中最基本和廣泛應用的理論和算法,也力求反映20世紀90年代以來國內外的一些重要的新成果。
探索光影的魔法:數字世界的藝術與科學 在這個瞬息萬變的數字時代,視覺敘事的力量日益凸顯。從令人驚嘆的電影特效到逼真細膩的遊戲場景,再到交互式的虛擬現實體驗,這一切的背後都離不開一門既是藝術又是科學的學科——計算機圖形學。本書將帶您踏上一段引人入勝的旅程,深入瞭解那些賦予數字世界生命與活力的奧秘,探索如何將抽象的數學概念轉化為栩栩如生的視覺圖像。 想象一下,您正置身於一個由像素和多邊形構建的奇幻世界,每一束光綫、每一次陰影、每一次材質的紋理都經過精密的計算和渲染。這不是魔法,而是計算機圖形學強大的力量。本書將揭示構建這一切的基礎原理,從最基本的幾何體建模,到復雜的材質屬性模擬,再到令人驚嘆的光照和陰影計算。您將學習到如何利用數學語言來描述三維空間中的物體,如何通過算法來處理和變換這些幾何信息,最終將它們呈現在二維的屏幕上。 構建數字世界的基石:幾何與建模 一切數字圖形的起點,都源於對現實世界或想象世界的幾何描述。本書將從最基礎的幾何原語齣發,例如點、綫、麵,以及更復雜的麯麵和實體。您將深入瞭解如何使用多邊形網格來構建幾乎任何形狀的物體,從簡單的立方體到復雜的角色模型,再到宏偉的建築場景。本書將詳細講解各種建模技術,包括: 多邊形建模 (Polygon Modeling): 這是構建三維模型最常用的方法。您將學習如何通過頂點、邊和麵的組閤來創建模型,以及各種編輯和優化技術,例如擠齣、倒角、細分麯麵等。 參數化建模 (Parametric Modeling): 這種技術允許您通過一組參數來定義和控製幾何體的形狀,使得模型的修改更加靈活方便。 NURBS (Non-Uniform Rational B-Splines): 對於需要高度平滑和精確麯綫的場景,NURBS模型提供瞭強大的解決方案。您將理解其數學原理和在設計中的應用。 體素建模 (Voxel Modeling): 類似於三維像素,體素為構建具有體積感的模型提供瞭另一種途徑,尤其在某些特定應用中錶現齣色。 除瞭靜態的模型,本書還將探討如何創建動態的對象。您將學習到骨骼動畫 (Skeletal Animation) 的原理,如何通過綁定骨骼來控製模型的變形,以及關鍵幀動畫 (Keyframe Animation) 的技術,從而賦予數字角色生命。 賦予模型生命:材質與紋理 一個精美的三維模型,如果缺乏恰當的材質和紋理,將顯得冰冷而失真。本書將帶您深入探索如何賦予模型逼真的外觀。您將理解: 材質屬性 (Material Properties): 顔色、反射率、粗糙度、摺射率、透明度……這些屬性共同決定瞭物體如何與光綫相互作用。本書將詳細闡述各種材質模型的原理,例如蘭伯特模型 (Lambertian Model)、馮·馮模型 (Phong Model)、布林·豐模型 (Blinn-Phong Model) 等,以及它們在模擬不同錶麵特性方麵的錶現。 紋理映射 (Texture Mapping): 將二維圖像“貼”到三維模型錶麵,可以極大地豐富模型的細節和真實感。您將學習到各種紋理映射技術,包括漫反射紋理 (Diffuse Texture)、法綫紋理 (Normal Texture)、高光紋理 (Specular Texture)、凹凸紋理 (Bump Map) 和位移紋理 (Displacement Map) 等,以及如何利用它們來模擬木材、石頭、金屬、皮膚等各種材質的錶麵細節。 程序化紋理 (Procedural Texturing): 利用算法生成的紋理,避免瞭對外部圖像文件的依賴,並且能夠生成無限變化的效果,例如程序化噪聲、分形圖案等。 著色器 (Shaders): 著色器是現代圖形渲染的核心。本書將介紹頂點著色器 (Vertex Shader) 和片段著色器 (Fragment Shader) 的作用,它們負責在GPU上執行高度並行的計算,從而實現復雜的材質效果和渲染管綫。 光影的魔術:光照與渲染 光照是創造視覺真實感的關鍵。本書將深入揭示光綫如何在三維空間中傳播,以及如何計算物體錶麵的亮度。您將學習到: 光照模型 (Lighting Models): 從簡單的定嚮光 (Directional Light)、點光源 (Point Light) 和聚光燈 (Spotlight),到更復雜的區域光 (Area Light) 和環境光 (Ambient Light),本書將詳述各種光源的特性及其對場景的影響。 陰影生成 (Shadow Generation): 陰影是物體與光綫相互作用的重要體現,也是增強空間感和真實感的關鍵。您將學習到各種陰影算法,例如陰影映射 (Shadow Mapping) 和陰影體 (Shadow Volumes),以及它們在不同場景下的優缺點。 反射與摺射 (Reflection and Refraction): 模擬鏡麵反射 (Mirror Reflection) 和玻璃、水等透明物體的摺射效果,能夠極大地提升場景的逼真度。本書將介紹光綫追蹤 (Ray Tracing) 的基本原理,以及如何利用它來模擬這些復雜的現象。 全局光照 (Global Illumination): 真實世界的光照並非僅僅來自直接光源,物體之間還會産生間接光照(例如,牆壁反射的光綫會照亮房間)。本書將介紹全局光照的概念,以及光子映射 (Photon Mapping)、輻射度法 (Radiosity) 等技術,它們能夠模擬齣更加柔和、自然的場景光照。 渲染管綫 (Rendering Pipeline): 您將瞭解從三維場景數據到最終二維圖像的整個渲染過程,包括模型變換、裁剪、投影、光柵化等一係列步驟。 穿越二維與三維的界限:投影與觀察 要將三維世界呈現在二維屏幕上,需要進行精密的投影變換。本書將解釋: 正交投影 (Orthographic Projection): 在這種投影下,平行綫在投影後仍然保持平行,常用於工程製圖和CAD應用。 透視投影 (Perspective Projection): 這種投影能夠模擬人眼觀察現實世界的方式,近處的物體看起來更大,遠處的物體看起來更小,營造齣深度感。您將理解視錐體 (View Frustum) 的概念,以及如何通過相機參數來控製投影效果。 視口變換 (Viewport Transformation): 將裁剪後的三維場景投影到二維視口上的過程。 交互與動態:實時圖形與虛擬現實 本書不僅僅關注靜態圖像的生成,還將探索如何實現實時互動和沉浸式體驗。 實時渲染 (Real-time Rendering): 遊戲、模擬和交互式應用需要以極高的幀率生成圖像。您將瞭解GPU (Graphics Processing Unit) 的強大並行計算能力如何在實時渲染中發揮關鍵作用。 計算機視覺基礎 (Introduction to Computer Vision): 瞭解如何從圖像中提取信息,例如邊緣檢測、特徵提取等,這對於實現物體識彆、跟蹤以及增強現實等應用至關重要。 虛擬現實與增強現實 (Virtual and Augmented Reality): 探索如何利用計算機圖形學技術構建虛擬世界,以及如何將虛擬信息疊加到真實世界中,創造前所未有的交互體驗。 更進一步的探索 在掌握瞭基礎知識之後,本書還將引導您探索更高級的主題,例如: 動畫麯綫與插值 (Animation Curves and Interpolation): 用於平滑地控製動畫的運動軌跡。 碰撞檢測 (Collision Detection): 在模擬和遊戲環境中,判斷物體之間是否發生碰撞。 粒子係統 (Particle Systems): 用於模擬火焰、煙霧、雨雪等復雜的動態效果。 幾何著色器 (Geometry Shader) 和計算著色器 (Compute Shader): 進一步擴展GPU的計算能力,實現更復雜的效果。 本書旨在為讀者提供一個全麵而深入的計算機圖形學知識體係。無論您是希望深入理解電影特效的製作原理,還是想要開發逼真的遊戲,亦或是對構建未來虛擬世界充滿好奇,本書都將為您提供堅實的基礎和寶貴的啓示。準備好,讓我們一起用代碼和算法,點亮數字世界的想象力,創造屬於我們的視覺奇跡。