計算幾何算法與實現(Visual C++版)

計算幾何算法與實現(Visual C++版)

《計算幾何算法與實現(Visual C++版)》是2017年8月電子工業出版社出版的圖書,作者是孔令德。

基本介紹

  • 中文名:計算幾何算法與實現(Visual C++版)
  • 作者:孔令德
  • 出版時間:2017年8月
  • 出版社:電子工業出版社
  • 頁數:304 頁
  • ISBN:9787121315695
  • 定價:49 元
  • 開本:16 開
內容簡介,圖書目錄,

內容簡介

本書系統介紹Bezier曲線曲面、B樣條曲線曲面和NURBS曲線曲面的理論與算法。第1章介紹曲線曲面的基本概念及表示形式;第2章介紹二維圖形和三維圖形的程式設計方法,示範直線繪圖函式的使用方法,重點講解製作格線模型動畫的雙緩衝技術;第3章講解三次樣條曲線、三次參數樣條曲線、Hermite樣條曲線和Cardinal曲線的原理與算法;第4章介紹三次Bezier曲線的定義算法、de Casteljau遞推算法,重點講解基於雙三次Bezier曲面片製作Utah 茶壺的算法,並在課程設計部分給出完整的代碼;第5 章介紹B 樣條的de Boor-Cox遞推定義算法、二次和三次均勻B樣條算法、非均勻B樣條曲線計算節點矢量的Hartley-Judd算法;第6章在曲線部分介紹NURBS精確表示圓弧的方法,在曲面部分重點講解NURBS構建三維曲面如球、圓環、酒杯的原理和算法。為了改變計算幾何以數學公式推導為主的單調學習方法,增強曲線曲面的可視化效果。本書提供所有與原理配套的Visual C++源程式。這些源程式用模組化方法編寫,注釋簡單易懂。為了降低程式的理解難度,旋轉曲面投影以最簡單的正交投影為主。對於計算機專業教師,可以深入理解原理與代碼的對應關係;對於非計算機專業教師,可以直接運行程式,本書不追求數學上的嚴密性與完整性,而注重於根據曲線曲面的數學公式的編程實現。本書的所有插圖全部使用程式繪製。從數學角度的理解轉換為圖形方面的觀察,可有效提高讀者的學習興趣,實現將數學公式藉助於編程技術表示為圖形效果的設計初衷。本書附錄部分給出了6個實驗項目及2個課程設計項目,並給出了猶他茶壺和花瓶的Visual C++原始碼。本書可作為高等院校計算機科學與技術數字媒體技術信息與計算科學、機械設計等專業本科生、碩士生、博士生的教材與參考書,也可供從事遊戲開發、計算機建模、計算機圖形學等領域的科學工作者參考使用。

圖書目錄

目 錄
第1章 緒論/1
1.1 計算幾何的研究內容/1
1.2 曲線曲面描述數學的發展/2
1.3 矢量代數基礎/4
1.3.1 矢量表示/4
1.3.2 矢量的運算/4
1.3.3 設計矢量類/5
1.4 曲線曲面的表示形式/8
1.4.1 顯式表示/8
1.4.2 隱式表示/9
1.4.3 參數表示/9
1.5 連續性條件/13
1.5.1 參數連續性/13
1.5.2 幾何連續性/13
1.6 預備知識/14
1.6.1 矢函式的導矢、切矢/14
1.6.2 曲線的自然參數方程/15
1.6.3 活動標架/16
1.6.4 曲率和撓率/18
1.6.5 型值點、插值、逼近、控制點/19
1.6.6 多項式基/20
1.7 本章小結/20
1.8 習題/20
第2章 圖形程式設計基礎/22
2.1 MFC上機操作步驟/22
2.1.2 查看工程信息/25
2.2 基本繪圖函式/27
2.2.1 修改單文檔視窗顯示參數/28
2.2.2 CDC派生類與GDI工具類/29
2.2.3 映射模式/30
2.2.4 使用GDI對象/33
2.2.5 繪製直線函式/35
2.2.6 點陣圖操作函式/41
2.2.7 動畫函式/45
2.3 雙緩衝動畫技術/47
2.4 三維變換與投影/52
2.4.1 三維坐標系/52
2.4.2 三維幾何變換/54
2.4.3 三維物體的數據結構/58
2.4.4 投影變換/58
2.5 立方體線框模型/59
2.6 球體格線模型/62
2.7 本章小結/67
2.8 習題/67
第3章 三次插值曲線/69
3.1 三次樣條曲線/69
3.1.1 三次樣條函式的定義/69
3.1.2 三次樣條函式的表達式/70
3.1.3 求解Mi/71
3.1.4 邊界條件/71
3.1.5 追趕法求解三對角陣/73
3.1.6 繪製曲線/74
3.1.7 算法/74
3.2 參數樣條曲線/76
3.2.1 三次參數樣條的定義/76
3.2.2 三次參數樣條函式的表達式/77
3.2.3 邊界條件/78
3.2.4 算法/79
3.3 Hermite插值曲線/83
3.3.1 Hermite基矩陣/83
3.3.2 Cardinal曲線/85
3.3.3 Cardinal算法/86
3.4 本章小結/88
3.5 習題/88
第4章 Bezier曲線曲面/90
4.1 Bezier曲線的定義與性質/91
4.1.1 Bezier曲線的定義/91
4.1.2 Bernstein基函式的性質/93
4.1.3 Bezier曲線的性質/93
4.2 Bezier曲線的幾何作圖法/97
4.2.1 de Casteljau遞推公式/98
4.2.2 de Casteljau幾何作圖法/98
4.3 Bezier曲線的拼接/100
4.4 Bezier曲線的升階與降階/105
4.4.1 Bezier曲線的升階/105
4.4.2 Bezier曲線的降階/106
4.5 Bezier曲面/106
4.5.1 張量積曲面/106
4.5.2 Bezier曲面的定義/107
4.5.3 雙三次Bezier曲面的定義/107
4.5.4 雙三次Bezier曲面片的拼接/112
4.6 雙三次Bezier曲面片繪製猶他茶壺/119
4.6.1 猶他茶壺整體輪廓線/123
4.6.2 三維旋轉體的生成原理/123
4.6.3 繪製壺體/128
4.6.4 繪製壺蓋/129
4.6.5 繪製壺底/129
4.6.6 繪製壺柄/130
4.6.7 繪製壺嘴/131
4.7 有理Bezier曲線/133
4.7.1 有理Bezier曲線定義/134
4.7.2 有理一次Bezier曲線/134
4.7.3 有理二次Bezier曲線/135
4.7.4 有理Bezier曲線的升階和降階/138
4.7.5 有理Bezier曲面/140
4.8 本章小結/147
4.9 習題/147
第5章 B樣條曲線曲面/151
5.1 B樣條基函式的遞推定義及其性質/151
5.1.1 B樣條的遞推定義/151
5.1.2 B樣條基函式的性質/155
5.1.3 B樣條基函式算法/155
5.2 B樣條曲線定義/156
5.2.1 局部性質/157
5.2.2 定義域及分段表示/158
5.2.3 B樣條曲線的分類/159
5.3 均勻B樣條曲線/160
5.3.1 二次均勻B樣條曲線/160
5.3.2 三次均勻B樣條曲線/166
5.3.3 B樣條曲線造型靈活性/170
5.4 準均勻B樣條曲線/171
5.5 分段Bezier曲線/172
5.5 非均勻B樣條曲線/173
5.5.1 Riesenfeld算法/173
5.5.2 Hartley-Judd算法/177
5.6 重節點對B樣條基函式的影響/179
5.6.1 重節點對B樣條基函式的影響/179
5.6.2 重節點對B樣條曲線的影響/180
5.7 高次B樣條曲線/180
5.8 節點插入/182
5.9 B樣條曲面/186
5.9.1 B樣條曲面的定義/186
5.9.2 雙三次均勻B樣條曲面/186
5.9.3 非均勻雙三次B樣條曲面/191
5.10 本章小結/200
5.11 習題/200
第6章 NURBS曲線曲面/203
6.1 NURBS曲線的定義及幾何性質/204
6.1.1 NURBS曲線方程的三種等價表示/204
6.1.2 NURBS曲線三種表示方式之間的關係/207
6.1.3 NURBS曲線的幾何性質/209
6.2 權因子對NURBS曲線形狀的影響/210
6.2.1 投影變換中的交比/210
6.2.2 權因子的幾何意義/211
6.3 NURBS曲線的節點插入/214
6.4 圓弧的NURBS表示/218
6.4.1 0 <θ≤90°圓弧的NURBS表示/218
6.4.2 90°≤θ≤180°圓弧的NURBS表示/221
6.4.3 180°≤θ≤270°圓弧的NURBS表示/223
6.4.4 270°≤θ≤360°圓弧的NURBS表示/224
6.5 NURBS曲面/226
6.5.1 NURBS曲面的定義/226
6.5.2 NURBS曲面權因子的幾何意義/235
6.5.3 NURBS曲面的性質/236
6.6 一般曲面的NURBS表示/237
6.6.1 雙線性曲面/237
6.6.2 一般柱面/238
6.6.3 旋轉面/239
6.7 NURBS曲面繪製花瓶/243
6.7.1 知識要點/243
6.7.2 案例描述/243
6.7.3 設計原理/243
6.7.4 算法設計/244
6.7.5 程式代碼/244
6.7.6 案例總結/247
6.8 本章小結/248
6.9 習題/248
附錄 /52
參考文 /93

熱門詞條

聯絡我們