計算機圖形學課程設計有效邊表
A. 系統的學習計算機圖形學,有哪些不同階段的書籍的推薦
我們學校的本科和專科,都是有的,你可以選擇一些比較熱門的專業,
例如電商、網路編程、電商財會、ui設計等等,發展前景大,
能夠進入的工作單位都比較容易找。
B. 計算機圖形學中什麼是ET表,AET表
ET表(邊表):用來存放多邊形除水平邊外的所有邊的信息。
AET表(有效邊表):與當前掃描線相交的多邊形的邊。
C. 學習計算機圖形學的書籍介紹
目錄
計算機圖形學基礎教程(Visual C++版)
第1章 導論1
1.1 計算機圖形學的應用領域1
1.1.1 計算機輔助設計1
1.1.2 計算機藝術1
1.1.3 虛擬現實3
1.1.4 計算機輔助教學3
1.2 計算機圖形學的概念4
1.3 計算機圖形學的相關學科5
1.4 計算機圖形學的確立和發展5
1.5 圖形顯示器的發展及其工作原理7
1.5.1 陰極射線管7
1.5.2 隨機掃描顯示器8
1.5.3 直視儲存管顯示器8
1.5.4 光柵掃描顯示器9
1.5.5 液晶顯示器13
1.5.6 等離子顯示器15
1.5.7 三維顯示器15
1.6 圖形軟體標準的形成18
1.7 計算機圖形學的最新技術18
1.7.1 交互技術18
1.7.2 造型技術18
1.7.3 真實感圖形顯示技術19
1.8 小結19
習題119第2章 Visual C++6.0繪圖基礎21
2.1 面向對象程序設計基礎21
2.1.1 類和對象21
2.1.2 構造函數和析構函數22
2.1.3 對象的動態建立和釋放24
2.1.4 繼承與派生25
2.2 MFC上機操作步驟28
2.3 基本繪圖函數31
2.3.1 CDC類結構和GDI對象32
2.3.2 映射模式33
2.3.3 CDC類的主要繪圖成員函數34
2.3.4 設備上下文的調用和釋放50
2.3.5 VC++繪制圖形的幾種方法51
2.4 小結52
習題252第3章 基本圖形的掃描轉換55
3.1 直線的掃描轉換55
3.1.1 演算法原理56
3.1.2 構造中點偏差判別式56
3.1.3 遞推公式57
3.2 圓的掃描轉換57
3.2.1 演算法原理58
3.2.2 構造中點偏差判別式59
3.2.3 遞推公式60
3.3 橢圓的掃描轉換60
3.3.1 演算法原理61
3.3.2 構造上半部分I中點偏差判別式62
3.3.3 上半部分I的遞推公式62
3.3.4 構造下半部分II中點偏差判別式64
3.3.5 下半部分II的遞推公式64
3.4 反走樣技術66
3.5 直線距離加權反走樣演算法67
3.5.1 演算法原理67
3.5.2 構造距離判別式69
3.5.3 計算機化69
3.6 小結69
習題369第4章 多邊形填充72
4.1 實面積圖形的概念72
4.1.1 多邊形的定義73
4.1.2 多邊形的表示73
4.1.3 多邊形的填充74
4.1.4 區域填充74
4.2 有效邊表填充演算法75
4.2.1 填充原理75
4.2.2 邊界像素的處理原則75
4.2.3 有效邊和有效邊表76
4.2.4 邊表79
4.3 邊緣填充演算法80
4.3.1 填充原理80
4.3.2 填充過程80
4.4 區域填充演算法82
4.4.1 填充原理82
4.4.2 四鄰接點和八鄰接點82
4.4.3 四連通域和八連通域83
4.4.4 四鄰接點填充演算法和八鄰接點填充演算法84
4.5 小結85
習題485第5章 二維變換和裁剪89
5.1 圖形幾何變換基礎89
5.1.1 規范化齊次坐標89
5.1.2 矩陣相乘89
5.1.3 二維變換矩陣90
5.1.4 二維幾何變換90
5.2 二維圖形基本幾何變換矩陣91
5.2.1 平移變換矩陣91
5.2.2 比例變換矩陣91
5.2.3 旋轉變換矩陣92
5.2.4 反射變換矩陣93
5.2.5 錯切變換矩陣94
5.3 二維復合變換95
5.3.1 復合變換原理95
5.3.2 相對於任一參考點的二維幾何變換95
5.3.3 相對於任意方向的二維幾何變換96
5.4 二維圖形裁剪98
5.4.1 圖形學中常用的坐標系98
5.4.2 窗口和視區及窗視變換99
5.4.3 窗視變換矩陣100
5.5 Cohen-Sutherland直線裁剪演算法101
5.5.1 編碼原理101
5.5.2 裁剪步驟102
5.5.3 交點計算公式102
5.6 中點分割直線裁剪演算法103
5.6.1 中點分割直線裁剪演算法原理103
5.6.2 中點計算公式103
5.7 梁友棟-Barsky直線裁剪演算法103
5.7.1 梁友棟演算法原理103
5.7.2 演算法分析104
5.7.3 演算法的幾何意義104
5.8 小結106
習題5106第6章 三維變換和投影108
6.1 三維幾何變換108
6.1.1 三維變換矩陣108
6.1.2 三維幾何變換108
6.2 三維基本幾何變換矩陣109
6.2.1 平移變換109
6.2.2 比例變換109
6.2.3 旋轉變換110
6.2.4 反射變換111
6.2.5 錯切變換112
6.3 三維復合變換113
6.4 投影變換115
6.4.1 三視圖115
6.4.2 斜等側圖118
6.5 透視變換120
6.5.1 透視變換坐標系120
6.5.2 坐標系變換121
6.5.3 用戶坐標繫到觀察坐標系的變換122
6.5.4 觀察坐標繫到屏幕坐標系的變換124
6.5.5 透視投影分類125
6.6 小結127
習題6128第7章 自由曲線和曲面130
7.1 基本概念130
7.1.1 樣條曲線曲面130
7.1.2 曲線曲面的表示形式130
7.1.3 擬合和逼近131
7.1.4 連續性條件131
7.2 三次參數樣條曲線132
7.2.1 參數樣條曲線定義132
7.2.2 系數求解133
7.2.3 邊界條件133
7.3 Hermite樣條曲線135
7.4 Bezier曲線137
7.4.1 Bezier曲線的定義137
7.4.2 Bezier曲線的性質139
7.4.3 Bezier曲線的可分割性139
7.5 Bezier曲面141
7.5.1 Bezier曲面的定義141
7.5.2 雙三次Bezier曲面的定義141
7.6 B樣條曲線142
7.6.1 B樣條曲線的定義143
7.6.2 二次B樣條曲線143
7.6.3 三次B樣條曲線144
7.6.4 B樣條曲線的性質146
7.6.5 構造特殊的三次B樣條曲線的技巧148
7.7 B樣條曲面149
7.7.1 B樣條曲面的定義149
7.7.2 雙三次B樣條曲面的定義149
7.7.3 雙三次B樣條曲面的連續性150
7.8 小結152
習題7152第8章 分形幾何156
8.1 分形和分維156
8.1.1 分形的誕生156
8.1.2 分形的基本特徵157
8.1.3 分形的定義158
8.1.4 分形維數的定義158
8.2 遞歸模型160
8.2.1 Cantor集160
8.2.2 Koch曲線161
8.2.3 Peano-Hilbert曲線162
8.2.4 Sierpinski墊片、地毯和海綿164
8.2.5 C字曲線168
8.2.6 Caley樹168
8.3 L系統模型169
8.3.1 L系統文法169
8.3.2 Koch曲線170
8.3.3 分形草171
8.3.4 Peano-Hilbert曲線171
8.3.5 分形灌木叢173
8.4 IFS迭代函數系統模型174
8.4.1 仿射變換174
8.4.2 IFS175
8.4.3 Koch曲線178
8.4.4 Sierpinski墊片180
8.4.5 楓葉生成182
8.5 小結183
習題8183第9章 動態消隱187
9.1 圖形的數據結構187
9.1.1 圖形的幾何信息和拓撲信息187
9.1.2 基本圖形的數據結構187
9.1.3 立體表示模型188
9.2 消隱演算法分類190
9.3 隱線演算法190
9.3.1 凸多面體消隱演算法190
9.3.2 曲面體消隱演算法192
9.4 隱面演算法194
9.4.1 Z-Buffer演算法194
9.4.2 畫家演算法197
9.5 小結198
習題9198第10章 真實感圖形201
10.1 顏色模型201
10.1.1 基本概念201
10.1.2 RGB顏色模型202
10.1.3 Gouraud顏色漸變203
10.2 材質模型和光照模型205
10.2.1 物體的材質205
10.2.2 環境光模型206
10.2.3 漫反射光模型206
10.2.4 鏡面反射光模型207
10.2.5 光強的衰減208
10.3 紋理映射209
10.3.1 紋理定義209
10.3.2 紋理映射210
10.4 OpenGL簡介210
10.4.1 案例效果210
10.4.2 TestView.h文件210
10.4.3 TestView.cpp文件213
10.4.4 程序說明220
10.5 小結222
習題10222附錄A 配套實踐教程的案例設置及與本書的對應關系225
D. sierpinski地毯的分形維數是多少
3 Gouraud顏色漸變203
10.1.1 演算法原理56
3.1.2.3.3.3.7.1.2.1.1.4 分形維數的定義158
8.3.2.4 B樣條曲線的性質146
7.2.5 C字曲線168
8.1 中點分割直線裁剪演算法原理103
5.1.4 小結52
習題252第3章 基本圖形的掃描轉換55
3.1.4.1 三視圖115
6.2 材質模型和光照模型205
10.2.2 隨機掃描顯示器8
1.4 Peano-Hilbert曲線171
8.5.2 Koch曲線161
8.1 紋理定義209
10.3 邊界條件133
7.3.6.4 Bezier曲線137
7.3 邊緣填充演算法80
4.7.2.2.2 MFC上機操作步驟28
2.3 旋轉變換矩陣92
5.2.1 平移變換109
6.2.4.2 Koch曲線170
8.4.4.0繪圖基礎21
2.4 四鄰接點填充演算法和八鄰接點填充演算法84
4.1.5.5 透視投影分類125
6.2 圓的掃描轉換57
3.2 比例變換矩陣91
5.3 橢圓的掃描轉換60
3.3 Hermite樣條曲線135
7.2 二次B樣條曲線143
7.5 小結85
習題485第5章 二維變換和裁剪89
5.2 雙三次Bezier曲面的定義141
7.4 連續性條件131
7.3.5.1 規范化齊次坐標89
5.3 漫反射光模型206
10.1 直線的掃描轉換55
3.3 真實感圖形顯示技術19
1.1.1.3 計算機圖形學的相關學科5
1.2.2 構造中點偏差判別式56
3.1 填充原理82
4.3.5 楓葉生成182
8.3.4 區域填充演算法82
4.2 構造上半部分I中點偏差判別式62
3.1.2 有效邊表填充演算法75
4.1.2.2 填充過程80
4.2.3 二維復合變換95
5.6.2.2 分形的基本特徵157
8.4.4 反走樣技術66
3.3.5 直線距離加權反走樣演算法67
3.5.2 IFS175
8.2 TestView.5.7 三維顯示器15
1.5.4.2 曲面體消隱演算法192
9.1 Cantor集160
8.2.3 演算法的幾何意義104
5.2.2.2 構造距離判別式69
3.5.4 邊表79
4.5.3 三次B樣條曲線144
7.1 計算機圖形學的應用領域1
1.3 交點計算公式102
5.1.3 分形的定義158
8.2 三次參數樣條曲線132
7.5 Bezier曲面141
7.3.4 區域填充74
4.2.1 L系統文法169
8.2 畫家演算法197
9.1 實面積圖形的概念72
4.1 顏色模型201
10.4.6 等離子顯示器15
1.1 Bezier曲線的定義137
7.5 錯切變換112
6.3.3 窗視變換矩陣100
5.7 梁友棟-Barsky直線裁剪演算法103
5.1.3 L系統模型169
8.1.1.4 設備上下文的調用和釋放50
2.4.2 多邊形的表示73
4.3 對象的動態建立和釋放24
2.5 透視變換120
6.2 坐標系變換121
6.2 構造中點偏差判別式59
3.6 中點分割直線裁剪演算法103
5.1 平移變換矩陣91
5.4.1 多邊形的定義73
4.1 填充原理75
4.3 直視儲存管顯示器8
1.2 曲線曲面的表示形式130
7.2.7.1.1 計算機輔助設計1
1.3 分形草171
8.2.3.1 凸多面體消隱演算法190
9.3 用戶坐標繫到觀察坐標系的變換122
6.3.1 類和對象21
2.2 計算機圖形學的概念4
1.7.3 四連通域和八連通域83
4.1.4 二維圖形裁剪98
5.1.1 樣條曲線曲面130
7.3.4 繼承與派生25
2.2 三維基本幾何變換矩陣109
6.1.5.1.5 小結198
習題9198第10章 真實感圖形201
10.2 環境光模型206
10.2 系數求解133
7.3 TestView.1 交互技術18
1.4.7.4.4.4 二維幾何變換90
5.1 圖形的幾何信息和拓撲信息187
9.2 中點計算公式103
5.1.5.4 構造下半部分II中點偏差判別式64
3.3 Bezier曲線的可分割性139
7.3 相對於任意方向的二維幾何變換96
5.4 觀察坐標繫到屏幕坐標系的變換124
6.1 演算法原理61
3.5 錯切變換矩陣94
5.2 構造函數和析構函數22
2.4 反射變換111
6.1 Bezier曲面的定義141
7.4.2.2 紋理映射210
10.1 B樣條曲線的定義143
7.3.3 多邊形的填充74
4.3.4 IFS迭代函數系統模型174
8.4.3 隱線演算法190
9.3 雙三次B樣條曲面的連續性150
7.3 CDC類的主要繪圖成員函數34
2.3.2 窗口和視區及窗視變換99
5.2 二維圖形基本幾何變換矩陣91
5.2 四鄰接點和八鄰接點82
4.5.1.2.1 梁友棟演算法原理103
5.4 光柵掃描顯示器9
1.2.7.5 Cohen-Sutherland直線裁剪演算法101
5.1 編碼原理101
5.2.1.1 Z-Buffer演算法194
9.2.2 三維幾何變換108
6.1 三維變換矩陣108
6.2 比例變換109
6.6.1 面向對象程序設計基礎21
2.2 造型技術18
1.6 Caley樹168
8.1 演算法原理67
3.3.4 投影變換115
6.6.1 圖形幾何變換基礎89
5.1.2.1.2 Bezier曲線的性質139
7.2.5.8 小結152
習題7152第8章 分形幾何156
8.5.6.3.4.4 Sierpinski墊片180
8.4 鏡面反射光模型207
10.5 下半部分II的遞推公式64
3.3 基本繪圖函數31
2.2.3 紋理映射209
10.1.3.5 VC++繪制圖形的幾種方法51
2.2 計算機藝術1
1.5.3.6.1 陰極射線管7
1.7 B樣條曲面149
7.3 Koch曲線178
8.3.3 計算機化69
3.7.h文件210
10.2 基本圖形的數據結構187
9.4 OpenGL簡介210
10.cpp文件213
10.6 B樣條曲線142
7.1 分形和分維156
8.4.3.6 小結69
習題369第4章 多邊形填充72
4.1.2.3 虛擬現實3
1.5.1 基本概念201
10.4 Sierpinski墊片、地毯和海綿164
8.3 遞推公式60
3.4.3 Peano-Hilbert曲線162
8.2 雙三次B樣條曲面的定義149
7.4.1 分形的誕生156
8.1.1.4.4 計算機輔助教學3
1.6 小結127
習題6128第7章 自由曲線和曲面130
7.4.1.2.2 演算法分析104
5.1 案例效果210
10.5.2 RGB顏色模型202
10.1 CDC類結構和GDI對象32
2.4 計算機圖形學的確立和發展5
1.1 三維幾何變換108
6.3 立體表示模型188
9.5.7.1 仿射變換174
8.2 映射模式33
2.4 反射變換矩陣93
5.7 計算機圖形學的最新技術18
1.5.1.4.1 填充原理80
4.7.5 光強的衰減208
10.1 復合變換原理95
5.4.2 邊界像素的處理原則75
4.5 圖形顯示器的發展及其工作原理7
1.5 小結183
習題8183第9章 動態消隱187
9.2 斜等側圖118
6.2.4.6.1 B樣條曲面的定義149
7.5 液晶顯示器13
1.5 分形灌木叢173
8.1 圖形學中常用的坐標系98
5.1 物體的材質205
10.1 圖形的數據結構187
9.5.1.6 圖形軟體標準的形成18
1.3 有效邊和有效邊表76
4.3 上半部分I的遞推公式62
3.3 旋轉變換110
6.5.4 隱面演算法194
9.1 基本概念130
7.8 小結19
習題119第2章 Visual C++6.3.2.2 裁剪步驟102
5.3 擬合和逼近131
7.2 消隱演算法分類190
9.3 遞推公式57
3.1 演算法原理58
3.8 小結106
習題5106第6章 三維變換和投影108
6.1.3 二維變換矩陣90
5.2 矩陣相乘89
5.4 程序說明220
10.5 構造特殊的三次B樣條曲線的技巧148
7.2 相對於任一參考點的二維幾何變換95
5.3 三維復合變換113
6.1 透視變換坐標系120
6.1 參數樣條曲線定義132
7.2 遞歸模型160
8目錄
計算機圖形學基礎教程(Visual C++版)
第1章 導論1
1.1
E. 寫出下圖所示多邊形的邊表和掃描線y=2的有效邊表
操作系統是管理、控制和監督計算機軟、硬體資源協調運行的程序系統,由一系列具有不同控制和管理功能的程序組成,它是直接運行在計算機硬體上的、最基本的系統軟體,是系統軟體的核心。操作系統是計算機發展中的產物,它的主要目的有兩個:一是方便用戶使用計算機,是用戶和計算機的介面。比如用戶鍵入一條簡單的命令就能自動完成復雜的功能,這就是操作系統幫助的結果;二是統一管理計算機系統的全部資源,合理組織計算機工作流程,以便充分、合理地發揮計算機的效率。操作系統通常應包括
F. 計算機圖形學發展前景怎麼樣,現在研究領域一般都分哪些
計算機圖形學是隨著計算機及其外圍設備而產生和發展起來的,作為計算機科學與技術學科的一個獨立分支已經歷了近40年的發展歷程。一方面,作為一個學科,計算機圖形學在圖形基礎演算法、圖形軟體與圖形硬體三方面取得了長足的進步,成為當代幾乎所有科學和工程技術領域用來加強信息理解和傳遞的技術和工具。另一方面,計算機圖形學的硬體和軟體本身已發展成為一個巨大的產業。
1.計算機圖形學活躍理論及技術
(1)分形理論及應用
分形理論是當今世界十分活躍的新理論。作為前沿學科的分形理論認為,大自然是分形構成的。大千世界,對稱、均衡的對象和狀態是少數和暫時的,而不對稱、不均衡的對象和狀態才是多數和長期的,分形幾何是描述大自然的幾何學。作為人類探索復雜事物的新的認知方法,分形對於一切涉及組織結構和形態發生的領域,均有實際應用意義,並在石油勘探、地震預測、城市建設、癌症研究、經濟分析等方面取得了不少突破性的進展。分形的概念是美籍數學家曼德布羅特(B.B.Mandelbrot)率先提出的。1967年他在美國《科學》雜志上發表了題為《英國的海岸線有多長?》的著名論文。
??海岸線作為曲線,其特徵是極不規則、極不光滑的,呈現極其蜿蜒復雜的變化。它無法用常規的、傳統的幾何方法描述。我們不能從形狀和結構上區分這部分海岸與那部分海岸有什麼本質的不同,這種幾乎同樣程度的不規則性和復雜性,說明海岸線在形貌上是自相似的,也就是部局形態和整體形態的相似。在沒有建築物或其他東西作為參照物時,在空中拍攝的100公里長的海岸線與放大了的10公里長海岸線的兩張照片,看上去十分相似。
??曾有人提出了這樣一個顯然是荒謬的命題:「英國的海岸線的長度是無窮大。」其論證思路是這樣的:海岸線是破碎曲折的,我們測量時總是以一定的尺度去量得某個近似值,例如,每隔100米立一個標桿,這樣,我們測得的是一個近似值,是沿著一條折線計算而得出的近似值,這條折線中的每一段是一條長為100米的直線線段。如果改為每10米立一個標桿,那麼實際量出的是另一條折線的長度,它的每一個片段長10米。顯然,後一次量出的長度將大於前一次量出的長度。如果我們不斷縮小尺度,所量出的長度將會越來越大。這樣一來,海岸線的長度不就成為無窮大了嗎?
??為什麼會出現這樣的結論呢?曼德布羅特提出了一個重要的概念:分數維,又稱分維。一般來說,維數都是整數,直線線段是一維的圖形,正方形是二維的圖形。在數學上,把歐氏空間的幾何對象連續地拉伸、壓縮、扭曲,維數也不變,這就是拓撲維數。然而,這種維數觀並不能解決海岸線的長度問題。曼德布羅特是這樣描述一個繩球的維數的:從很遠的距離觀察這個繩球,可看作一點(零維);從較近的距離觀察,它充滿了一個球形空間(三維);再近一些,就看到了繩子(一維);再向微觀深入,繩子又變成了三維的柱,三維的柱又可分解成一維的纖維。那麼,介於這些觀察點之間的中間狀態又如何呢?顯然,並沒有繩球從三維對象變成一維對象的確切界限。英國的海岸線為什麼測不準?因為歐氏一維測度與海岸線的維數不一致。根據曼德布羅特的計算,英國海岸線的維數為1.26。有了分維的概念,海岸線的長度就可以確定了。
??1975年,曼德布羅特發現:具有自相似性的形態廣泛存在於自然界中,如連綿的山川、飄浮的雲朵、岩石的斷裂口、布朗粒子運動的軌跡、樹冠、花菜、大腦皮層……曼德布羅特把這些部分與整體以某種方式相似的形體稱為分形(Fractal),這個單詞由拉丁語Frangere衍生而成,該詞本身具有「破碎」、「不規則」等含義。
??曼德布羅特的研究中最精彩的部分是1980年他發現的並以他的名字命名的集合,他發現整個宇宙以一種出人意料的方式構成自相似的結構。Mandelbrot集合圖形的邊界處,具有無限復雜和精細的結構。在此基礎上,形成了研究分形性質及其應用的科學,稱為分形理論(Fractal theory)或分形幾何學(Fractal geometry)。
分形的特點和理論貢獻
??數學上的分形有以下幾個特點:
??(1)具有無限精細的結構;
??(2)比例自相似性;
??(3)一般它的分數維大於它的拓撲維數;
??(4)可以由非常簡單的方法定義,並由遞歸、迭代產生等。
??(1)(2)兩項說明分形在結構上的內在規律性。自相似性是分形的靈魂,它使得分形的任何一個片段都包含了整個分形的信息。第(3)項說明了分形的復雜性,第(4)項則說明了分形的生成機制。
??我們把傳統幾何的代表歐氏幾何與以分形為研究對象的分形幾何做一比較,可以得到這樣的結論:歐氏幾何是建立在公理之上的邏輯體系,其研究的是在旋轉、平移、對稱變換下各種不變的量,如角度、長度、面積、體積,其適用范圍主要是人造的物體;而分形由遞歸、迭代生成,主要適用於自然界中形態復雜的物體,分形幾何不再以分離的眼光看待分形中的點、線、面,而是把它們看成一個整體。
??我們可以從分形圖案的特點去理解分形幾何。分形圖案有一系列有趣的特點,如自相似性、對某些變換的不變性、內部結構的無限性等。此外,分形圖案往往和一定的幾何變換相聯系,在一些變化下,圖案保持不變,從任意的初始狀態出發,經過若干次的幾何變換,圖形將固定在這個特定的分形圖案上,而不再發生變化。自相似原則和迭代生成原則是分形理論的重要原則。
??分形理論發展了維數的概念。在發現分數維以前,人們習慣於將點定義為零維,直線為一維,平面為二維,空間為三維,愛因斯坦在相對論中引入時間維,就形成四維時空。對某一問題給予多方面的考慮,可建立高維空間,但都是整數維。
??分形是20世紀涌現出的新的科學思想和對世界認識的新視角。從理論上講,它是數學思想的新發展,是人類對於維數、點集等概念的理解的深化與推廣。同時它又與現實的物理世界緊密相連,成為研究混沌(Chaos)現象的重要工具。眾所周知,對混沌現象的研究正是現代理論物理學的前沿和熱點之一。
??由於分形的研究,人們對於隨機性和確定性的辯證關系有了進一步的理解。同樣對於過程和狀態的聯系,對於宏觀和微觀的聯系,對於層次之間的轉化,對於無限性的豐富多采,也都產生了有益的影響。
??分形理論還是非線性科學的前沿和重要分支,作為一種方法論和認識論,其啟示是多方面的:一是分形整體與局部形態的相似,啟發人們通過認識局部來認識整體,從有限中認識無限;二是分形揭示了介於整體與部分、有序與無序、復雜與簡單之間的新形態和秩序;三是分形從特定層面揭示了世界普遍聯系和統一的圖景。
分形學的應用領域
??除了理論上的意義之外,在實際應用中,分形也顯示了巨大的潛力,它已經在許多領域中得到有效的應用,其應用范圍之廣、效益之明顯遠遠超過了十幾年前的任何預測。目前大量分形方法的應用案例層出不窮。這些案例涉及的領域包括:生命過程進化,生態系統,數字編碼和解碼,數論,動力系統,理論物理(如流體力學和湍流) 等方面,此外,還有人利用分形學做城市規則和地震預報。
??分形技術在數據壓縮中的應用是一個非常典型的例子。美國數學會會刊在1996年6月的刊物上發表了巴斯利的文章《利用分形進行圖形壓縮》,他把分形用於光碟製作的圖形壓縮中。一般來說,我們總是把一個圖形作為像素的集合來加以存儲和處理。一張最普通的圖片也常常涉及幾十萬乃至上百萬像素,從而占據大量的存儲空間,傳輸速度也大大受到限制。巴斯利運用了分形中的一個重要思想:分形圖案是與某種變換相聯系的,我們可以把任何一個圖形看作是某種變換反復迭代的產物。因此,存儲一個圖形,只需存儲有關這些變換過程的信息,而無需存儲圖形的全部像素信息。只要找到這個變換過程,圖形就可以准確地再現出來,而不必去存儲大量的像素信息。使用這種方法,在實際的應用中,已經達到了壓縮存儲空間至原來1/8的效果。
??近年來,由分形理論發展起來的分形藝術(Fractal Art,FA),在表現形式和分形幾何的理解等方面亦取得了突破性的進展。分形藝術是二維可視藝術,在許多方面類似於攝影。分形圖像作品一般是通過計算機屏幕和列印機來展現的。分形藝術中的另一個重要部分便是分形音樂,分形音樂是由一個演算法的多重迭代產生的。自相似是分形幾何的本質,有人利用這一原理來建構一些帶有自相似小段的合成音樂,主題在帶有小調的三番五次的反復循環中重復,在節奏方面可以加上一些隨機變化。我們常見的計算機屏幕保護程序,許多也是通過分形計算而得來的。
進入1990年代以來,人們開始越來越多地利用這一理論研究經濟領域的一些問題,主要集中在對金融市場(如股票市場、外匯市場等)的研究。操縱者可以通過在若干時間點上的操縱使股價在微觀尺度上發生所希望的變化;從時間的宏觀尺度上來看,要使股價發生所希望的變化,就要求操縱者具有相當的經濟實力。從分形的角度來看,股票價格具有分形特徵。一方面,股價具有復雜的微觀結構;另一方面,它具有對時間的標度不變性,即在不同的觀測尺度下具有相似的結構,其結構是復雜和簡單、不規則和有序的統一。對股價操縱者來說,要在單個時間點上影響股價並不難,即使是在大的時間尺度上影響股價也是有可能的,但是要想通過人為的操縱,在影響股價的同時,保持股價在時間的微觀和宏觀尺度上的一致性,在技術上就會顯得非常困難。
(2) 曲面造型技術。它是計算機圖形學和計算機輔助幾何設計(Computer Aided Geometric Design)的一項重要內容,主要研究在計算機圖象系統的環境下對曲面的表示、設計、顯示和分析。它肇源於飛機、船舶的外形放樣工藝,由Coons、Bezier等大師於六十年代奠定理論基礎。經三十多年發展,現在它已經形成了以Bezier和B樣條方法為代表的參數化特徵設計和隱式代數曲面表示這兩類方法為主體,以插值(Interpolation) 、擬合(Fitting) 、逼近(Approximation)這三種手段為骨架的幾何理論體系。隨著計算機圖形顯示對於真實性、實時性和交互性要求的日益增強,隨著幾何設計對象向著多樣性、特殊性和拓撲結構復雜性靠攏的趨勢的日益明顯,隨著圖形工業和製造工業邁向一體化、集成化和網路化步伐的日益加快,隨著激光測距掃描等三維數據采樣技術和硬體設備的日益完善,曲面造型在近幾年來得到了長足的發展。這主要表現在研究領域的急劇擴展和表示方法的開拓創新。
一.從研究領域來看,曲面造型技術已從傳統的研究曲面表示、曲面求交和曲面拼接,擴充到曲面變形、曲面重建、曲面簡化、曲面轉換和曲面位差。
曲面變形(Deformation or Shape Blending): 傳統的非均勻有理B樣條(NURBS)曲面模型,僅允許調整控制頂點或權因子來局部改變曲面形狀,至多利用層次細化模型在曲面特定點進行直接操作;一些簡單的基於參數曲線的曲面設計方法,如掃掠法(Sweeping),蒙皮法(Skinning),旋轉法和拉伸法,也僅允許調整生成曲線來改變曲面形狀。計算機動畫業和實體造型業迫切需要發展與曲面表示方式無關的變形方法或形狀調配方法,於是產生了自由變形(FFD)法,基於彈性變形或熱彈性力學等物理模型(原理)的變形法,基於求解約束的變形法,基於幾何約束的變形法等曲面變形技術和基於多面體對應關系或基於圖象形態學中Minkowski和操作的曲面形狀調配技術。最近,筆者及其學生劉利剛首創活動局部球面坐標插值的新思想,給出了空間點集內在變數的完整數學描述,從幾何內在解的角度,設計了三維多面體和自由曲面形狀調配的一整套快速有效的演算法,畫面流暢,交互實時,對三維曲面變形的技術難題實現了突破。
曲面重建(Reconstruction):在精緻的轎車車身設計或人臉-類雕塑曲面的動畫製作中,常用油泥制模,再作三維型值點采樣。在醫學圖象可視化中,也常用CT切片來得到人體臟器表面的三維數據點。從曲面上的部分采樣信息來恢復原始曲面的幾何模型,稱為曲面重建。采樣工具為:激光測距掃描器,醫學成象儀,接觸探測數字轉換器,雷達或地震勘探儀器等。根據重建曲面的形式,它可分為函數型曲面重建和離散型曲面重建這兩類。
曲面簡化(Simplification):與曲面重建一樣,這一研究領域目前也是國際熱點之一。其基本思想在於從三維重建後的離散曲面或造型軟體的輸出結果(主要是三角網格)中去除冗餘信息而又保證模型的准確度,以利於圖形顯示的實時性、數據存儲的經濟性和數據傳輸的快速性。對於多解析度曲面模型而言,這一技術還有利於建立曲面的層次逼近模型,進行曲面的分層顯示,分層傳輸和分層編輯。具體的曲面簡化方法有:網格頂點剔除法,網格邊界刪除法,網格優化法,最大平面逼近多邊形法以及參數化重新采樣法。
曲面轉換(Conversion):同一張曲面可以表為不同的數學形式,這一思想不僅具有理論意義,而且具有工業應用的現實意義。例如,NURBS這種參數有理多項式曲面雖然包括了參數多項式曲面的一切優點,但也存在著微分運算繁瑣費時、積分運算無法控制誤差的局限性。而在曲面拼接及物性計算中,這兩種運算是不可避免的。這就提出了把一張NURBS曲面轉化成近似的多項式曲面的問題。同樣的要求更體現在NURBS曲面設計系統與多項式曲面設計系統之間的數據傳遞和無紙化生產的工藝過程中。再如,在兩張參數曲面的求交運算中,如果把其中一張曲面的NURBS形式轉化為隱式,就容易得到方程的數值解。近幾年來,國際圖形界對曲面轉換的研究主要集中在以下幾方面:NURBS曲面用多項式曲面來逼近的演算法及收斂性;Bezier曲線曲面的隱式化及其反問題;CONSURF飛機設計系統的Ball曲線向高維的各種推廣形式的比較及互化;有理Bezier曲線曲面的降階逼近演算法及誤差估計;NURBS曲面在三角域上與矩形域上的互相快速轉化等。
曲面位差(Offset):也稱為曲面等距性,它在計算機圖形及加工中有廣泛應用,因而成為這幾年的熱門課題之一。例如,數控機床的刀具路徑設計就要研究曲線的等距性。但從數學表達式容易看出,一般而言,一條平面參數曲線的等距曲線不再是有理曲線,這就越出了通用的NURBS系統的使用范圍,造成了軟體設計的復雜性和數值計算的不穩定。
二.從表示方法來看,以網格細分(Subdivision)為特徵的離散造型與傳統的連續造型相比,大有後來居上的創新之勢。而且,這種曲面造型方法在生動逼真的特徵動畫和雕塑曲面的設計加工中如魚得水,得到了高度的運用。
在1998年榮獲奧斯卡大獎的電影作品中,有一個短片赫然在列,這就是美國著名的Pixar動畫電影製片廠選送的作品"Geri's Game"。動畫片描述了一個名叫Geri的老頭,在公園里自己與自己下國際象棋,千方百計想取勝的詼諧故事。畫面中人物和景色的造型細致生動,與故事情節渾然一體,使觀眾得到真正的美學享受。而這部動畫片製作中的設計者,就是以上論文的作者,著名的計算機圖形學家T.DeRose。DeRose在SIGGRAPH'98大會上報告的論文講到了選用C-C細分曲面作為Geri老頭特徵造型模型的背景。他指出,NURBS盡管早已被國際標准組織ISO作為定義工業產品數據交換的STEP標准,在工業造型和動畫製作中得到了廣泛的應用,但仍然存在著局限性。單一的NURBS曲面,如其他參數曲面一樣,限於表示在拓撲上等價於一張紙,一個圓柱面或一個圓環面的曲面,不能表示任意拓撲結構的曲面。為了表達特徵動畫中更復雜的形狀,如人的頭,人的手或人的服飾,我們面臨著一場技術挑戰。當然,我們可以用最普通的復雜光滑曲面的造型方法,例如對NURBS的修剪(Trimming)來對付。確實,目前已經存在一些商用系統,諸如Alias-Wavefront和SoftImage等可以做到這一點,但是它們至少會遭遇到以下的困難:第一,修剪是昂貴的,而且有數值誤差;第二,要在曲面的接縫處保持光滑,即使是近似的平滑也是困難的,因為模型是活動的。而細分曲面有潛力克服以上兩個困難,它們無須修剪,沒有縫,活動模型的平滑度被自動地保證。DeRose成功地應用了C-C的細分曲面造型法,同時發明了構造光滑的變半徑的輪廓線及合成物的實際技術,提出了在服飾模型中碰撞檢測的有效新演算法,構造了關於細分曲面的光滑因子場方法。憑借這些數學和軟體基礎,他形象逼真地表現了Geri老頭的頭殼,手指和衣服,包括茄克衫,褲子,領帶和鞋子。這些都是傳統的NURBS連續曲面造型所不易做到的。那麼,C-C細分曲面是怎樣構造的呢?它與傳統的Doo-Sabin細分曲面異曲同工,都是從一個稱之為控制網格(網格多半可用激光從手工模型上輸入)的多面體開始,遞歸地計算新網格上的每個頂點,這些頂點都是原網格上某幾個頂點的加權平均。如果多面體的一個面有n條邊,細分一次後,這個面就會變成n個四邊形。隨著細分的不斷進行,控制網格就被逐漸磨光,其極限狀態就是一張自由曲面。它是無縫的,因而是平滑的,即使模型是活動的。這種方法顯著地壓縮了設計和建立一個原始模型的時間。更重要的,允許原始模型局部地精製化。這就是它優於連續曲面造型方法之處. C-C細分是基於四邊形的,而Loop曲面(1987年),蝶形曲面(1990年)是基於三角形的。它們都一樣受到當今圖形工作者的重用。
(3)計算機輔助設計與製造(CAD/CAM)。 這是一個最廣泛,最活躍的應用領域。計算機輔助設計(Computer Aided Design,CAD)是利用計算機強有力的計算功能和高效率的圖形處理能力,輔助知識勞動者進行工程和產品的設計與分析,以達到理想的目的或取得創新成果的一種技術。它是綜合了計算機科學與工程設計方法的最新發展而形成的一門新興學科。計算機輔助設計技術的發展是與計算機軟體、硬體技術的發展和完善,與工程設計方法的革新緊密相關的。採用計算機輔助設計已是現代工程設計的迫切需要。CAD技術目前已廣泛應用於國民經濟的各個方面,其主要的應用領域有以下幾個方面。
1.製造業中的應用
CAD技術已在製造業中廣泛應用,其中以機床、汽車、飛機、船舶、航天器等製造業應用最為廣泛、深入。眾所周知,一個產品的設計過程要經過概念設計、詳細設計、結構分析和優化、模擬模擬等幾個主要階段。
同時,現代設計技術將並行工程的概念引入到整個設計過程中,在設計階段就對產品整個生命周期進行綜合考慮。當前先進的CAD應用系統已經將設計、繪圖、分析、模擬、加工等一系列功能集成於一個系統內。現在較常用的軟體有UG II、I-DEAS、CATIA、PRO/E、Euclid等CAD應用系統,這些系統主要運行在圖形工作站平台上。在PC平台上運行的CAD應用軟體主要有Cimatron、Solidwork、MDT、SolidEdge等。由於各種因素,目前在二維CAD系統中Autodesk公司的AutoCAD占據了相當的市場。
2.工程設計中的應用
CAD技術在工程領域中的應用有以下幾個方面:
(1)建築設計,包括方案設計、三維造型、建築渲染圖設計、平面布景、建築構造設計、小區規劃、日照分析、室內裝潢等各類CAD應用軟體。
(2)結構設計,包括有限元分析、結構平面設計、框/排架結構計算和分析、高層結構分析、地基及基礎設計、鋼結構設計與加工等。
(3)設備設計,包括水、電、暖各種設備及管道設計。
(4)城市規劃、城市交通設計,如城市道路、高架、輕軌、地鐵等市政工程設計。
(5)市政管線設計,如自來水、污水排放、煤氣、電力、暖氣、通信(包括電話、有線電視、數據通信等)各類市政管道線路設計。
(6)交通工程設計,如公路、橋梁、鐵路、航空、機場、港口、碼頭等。
(7)水利工程設計,如大壩、水渠、河海工程等。
(8)其他工程設計和管理,如房地產開發及物業管理、工程概預算、施工過程式控制制與管理、旅遊景點設計與布置、智能大廈設計等。
3.電氣和電子電路方面的應用
CAD技術最早曾用於電路原理圖和布線圖的設計工作。目前,CAD技術已擴展到印刷電路板的設計(布線及元器件布局),並在集成電路、大規模集成電路和超大規模集成電路的設計製造中大顯身手,並由此大大推動了微電子技術和計算及技術的發展。
4.模擬模擬和動畫製作
應用CAD技術可以真實地模擬機械零件的加工處理過程、飛機起降、船舶進出港口、物體受力破壞分析、飛行訓練環境、作戰方針系統、事故現場重現等現象。在文化娛樂界已大量利用計算機造型模擬出逼真的現實世界中沒有的原始動物、外星人以及各種場景等,並將動畫和實際背景以及演員的表演天衣無縫地合在一起,在電影製作技術上大放異彩,拍制出一個個激動人心的巨片。
5.其他應用
CAD技術除了在上述領域中的應用外,在輕工、紡織、家電、服裝、製鞋、醫療和醫葯乃至體育方面都會用到CAD技術
CAD標准化體系進一步完善;系統智能化成為又一個技術熱點;集成化成為CAD技術發展的一大趨勢;科學計算可視化、虛擬設計、虛擬製造技術是20世紀90年代CAD技術發展的新趨向。
經過了一階段計算機圖形學的學習,對於圖形學中基本圖形的生成演算法有了一定的了解。深度研究圖形學,需要高深的數學知識,且每一個細化的方向需要的知識也不一樣。圖形學是計算機科學與技術學科的活躍前沿學科,被廣泛的應用到生物學、物理學、化學、天文學、地球物理學、材料科學等領域。我深深感到這門學科涉及的領域之廣是驚人的,可以說博大精深。