本書內(nèi)容包括:計算機(jī)圖形系統(tǒng)組成;OpenGL編程基礎(chǔ);基本圖元的生成;OpenGL中基本圖元的繪制;圖形用戶界面與交互技術(shù);圖形變換等。
本書全面地介紹了計算機(jī)圖形學(xué)的基礎(chǔ)知識,強(qiáng)調(diào)課程的理論教學(xué)與實踐內(nèi)容并重,配套有實驗內(nèi)容。編寫本書的目的是讓學(xué)生了解計算機(jī)圖形學(xué)技術(shù)的發(fā)展、應(yīng)用和最新成果,掌握計算機(jī)圖形學(xué)的核心理論和算法,使學(xué)生具有基本2D和3D圖形程序的空間造型、基本圖形編程能力和實踐應(yīng)用能力。
本書根據(jù)作者多年的教學(xué)實踐經(jīng)驗編寫而成,在內(nèi)容安排和課程實驗的配置上充分考慮了教師的教學(xué)計劃與學(xué)生的接受理解能力。全書共分11章。第1章緒論,介紹計算機(jī)圖形學(xué)及其相關(guān)概念,計算機(jī)圖形學(xué)的發(fā)展、應(yīng)用及相關(guān)技術(shù);第2章計算機(jī)圖形系統(tǒng)組成,包括計算機(jī)圖形系統(tǒng)的體系結(jié)構(gòu)、硬件設(shè)備以及圖形軟件及其標(biāo)準(zhǔn);第3章OpenGL編程基礎(chǔ),首先敘述了OpenGL的一些基本概念,然后通過簡單實例介紹OpenGL編程的基本知識;第4章基本圖元的生成,包括點、直線、圓的生成算法,多邊形的填充算法,字符生成和光柵圖形的反走樣算法;第5章OpenGL中基本圖元的繪制,介紹了點、直線、多邊形、圓、字符繪制方法以及反走樣的實現(xiàn);第6章圖形用戶界面與交互技術(shù),首先對人機(jī)交互技術(shù)與圖形用戶界面做了系統(tǒng)敘述,然后詳細(xì)描述了OpenGL交互與動畫技術(shù)的實現(xiàn),包括鍵盤和鼠標(biāo)交互、時間動畫等技術(shù);第7章圖形變換,包括二維幾何變換及組合變換、二維觀察流程、二維直線裁剪算法及其實現(xiàn)、三維幾何變換及組合變換、OpenGL三維圖形變換及其實例;第8章三維觀察與投影變換,包括三維觀察流程、投影變換、平行投影與透視投影、三維裁剪以及OpenGL三維觀察實現(xiàn);第9章真實感圖形繪制,敘述了顏色模型、光照基礎(chǔ)知識、Phong光照模型、消隱技術(shù)、OpenGL的簡單光照實現(xiàn);第10章曲線曲面造型,首先敘述了曲線曲面基礎(chǔ)知識,然后分別對Bezier、B樣條、NURBS和多結(jié)點樣條曲線曲面的定義及性質(zhì)做了詳細(xì)介紹,并對這幾種曲線曲面造型算法進(jìn)行了比較,最后講述了OpenGL曲線曲面繪制方法;第11章三維形體的表示,對現(xiàn)有幾種三維形體造型方法及其應(yīng)用場合做了闡述,給出了OpenGL分形和粒子系統(tǒng)的實現(xiàn)方法。
本書具有如下特點:
1)精選內(nèi)容、突出主線。計算機(jī)圖形學(xué)在發(fā)展過程中不斷推陳出新,為適應(yīng)教學(xué),本書增添了成熟的新內(nèi)容,強(qiáng)調(diào)核心算法,對部分圖形學(xué)算法進(jìn)行取舍,重心向3D真實感圖形技術(shù)偏移。
2)強(qiáng)調(diào)交互和動畫技術(shù)。交互與動畫是計算機(jī)圖形學(xué)的重要環(huán)節(jié)。本書不僅介紹了交互和動畫技術(shù)的理論知識,在實驗環(huán)節(jié)還設(shè)有專門的交互和動畫實驗,并且?guī)缀趺總實驗都有交互和動畫部分。
3)與OpenGL編程技術(shù)結(jié)合,設(shè)有配套實驗。加強(qiáng)實踐教學(xué),配套極富特色的實驗單元。
所有配套實驗單元均是筆者自主設(shè)計,每個實驗單元都是一個完整案例。例如鼠標(biāo)畫線、太陽系、3D機(jī)器人、漫游場景、線段窗口裁剪、霧透明與陰影、曲線曲面造型等。整個實驗穿插驗證性、設(shè)計性和綜合性,由淺至深、由易到難、由簡單到交互、由2D到3D,循序漸進(jìn)。
序一
序二
前言
教學(xué)建議
第1章 緒論
11 計算機(jī)圖形學(xué)及其相關(guān)概念
1.2 計算機(jī)圖形學(xué)的發(fā)展
1.3 計算機(jī)圖形學(xué)的應(yīng)用
1.4 計算機(jī)圖形學(xué)的相關(guān)技術(shù)
1.4.1 0penGL技術(shù)
1.4.2 DirectX技術(shù)
1.4.3 Web3D技術(shù)
本章小結(jié)
習(xí)題
第2章 計算機(jī)圖形系統(tǒng)組成
2.1 概述
2.1.1 計算機(jī)圖形系統(tǒng)的功能
2.1.2 計算機(jī)圖形系統(tǒng)的結(jié)構(gòu)
2.2 圖形顯示與觀察設(shè)備
2.3 圖形輸入設(shè)備
2.4 圖形輸出設(shè)備
2.5 圖形軟件及其標(biāo)準(zhǔn)
本章小結(jié)
習(xí)題
第3章 OpenGL編程基礎(chǔ)
3.1 0penGL簡介
3.2 0penGL的功能
3.3 0penGL的組成
3.4 0penGL體系結(jié)構(gòu)
3.5 0penGL T作流程
3.6 0penGL數(shù)據(jù)類型
3.7 0penGL函數(shù)命名約定
3.8 0penGL編程初探
3.8.1 0penGL編程入門
3.8.2 0penGL程序結(jié)構(gòu)
本章小結(jié)
習(xí)題
第4章 基本圖元的生成
4.1 點的生成算法
4.2 直線的生成算法
4.2.1 DDA算法
4.2.2 Bresenham算法
4.3 圓的生成算法
4.4 區(qū)域填充算法
4.4.1 多邊形掃描轉(zhuǎn)換算法
4.4.2 邊緣填充算法
4.4.3 種子填充算法
4.5 字符的生成
4.6 光柵圖形的反走樣
本章小結(jié)
習(xí)題
第5章 OpenGL中基本圖元的繪制
5.1 點的繪制
5.2 直線的繪制
5.3 可填充的圖元繪制
5.4 多邊形的繪制模式
5.5 圓和橢圓的繪制
?5.6 狀態(tài)的保存
5.7 字符的繪制
5.8 反走樣的實現(xiàn)
本章小結(jié)
習(xí)題
第6章 圖形用戶界面與交互技術(shù)
6.1 概述
6.2 人機(jī)交互用戶界面的設(shè)計原則
6.3 邏輯輸入設(shè)備及數(shù)據(jù)輸入處理
6.3.1 邏輯輸入設(shè)備
6.3.2 數(shù)據(jù)輸入處理
6.4 基本交互技術(shù)
6.4.1 基本繪圖技術(shù)
6.4.2 基本三維交互技術(shù)
6.5 0penGL交互與動畫技術(shù)的實現(xiàn)
6.5.1 窗口改變回調(diào)函數(shù)
6.5.2 閑置回調(diào)函數(shù)
6.5.3 重繪回調(diào)函數(shù)
6.5.4 單、雙緩存技術(shù)
6.5.5 鍵盤交互
6.5.6 鼠標(biāo)交互
6.5.7 快捷菜單
6.5.8 子窗口與多窗口
6.5.9 顯示列表 -
6.5.1 0拾取操作
本章小結(jié)
習(xí)題
第7章 圖形變換
7.1 二維基本幾何變換
7.1.1 平移變換
7.1.2 比例變換
7.1.3 旋轉(zhuǎn)變換
7.1.4 對稱變換
7.1.5 錯切變換
7.2 齊次坐標(biāo)
7.2.1 齊次坐標(biāo)的概念
7.2.2 二維齊次坐標(biāo)變換
7.3 組合變換
7.3.1 組合平移
7.3.2 組合旋轉(zhuǎn)
7.3.3 組合縮放
7.3.4 對任一固定點旋轉(zhuǎn)
7.3.5 對任一固定點縮放
7.3.6 對任一固定軸對稱變換
7.3.7 矩陣合并特性
7.4 二維觀察
7.4.1 二維觀察流程
7.4.2 窗口到視區(qū)的變換
7.4.3 0penGL二維圖形變換及其實例
7.4.4 二維直線裁剪算法及其實現(xiàn)
7.4.5 其他二維圖形裁剪算法介紹
7.5 三維幾何變換
7.5.1 三維基本幾何變換
7.5.2 三維組合變換
7.5.3 0penGL三維圖形變換及其
實例
本章小結(jié)
習(xí)題
第8章 三維觀察與投影變換
8.1 三維觀察
8.1.1 三維觀察流程
8.1.2 三維觀察坐標(biāo)系
8.1.3 從世界坐標(biāo)系到觀察坐標(biāo)系的變換
8.2 投影變換
8.2.1 平行投影
8.2.2 透視投影
8.3 空間規(guī)范化
8.4 三維裁剪
第9章 真實感圖形繪制
第10章 曲線曲面造型
第11章 三維形體的表示
實驗一 OpenGL圖形編程入門
實驗二 OpenGL的簡單動畫
實驗三 OpenGL的鍵盤交互繪制
實驗四 OpenGL的鼠標(biāo)交互繪制
實驗五 基本圖元的生成算法
實驗六 2D圖形變換
實驗七 2D太陽系繪制
實驗八 線段裁剪算法
實驗九 3D編程基礎(chǔ)
實驗十 3D機(jī)器人
實驗十一 交互的3D漫游世界
實驗十二 簡單光照和材質(zhì)
實驗十三 霧、透明和陰影
實驗十四 3DS格式的模型顯示
實驗十五 紋理映射
實驗十六 Bezier曲線曲面繪制
實驗十七 多結(jié)點樣條曲線曲面繪制
參考文獻(xiàn)