书籍详情
计算几何算法与实现(Visual C++版)
作者:孔令德 等 著
出版社:电子工业出版社
出版时间:2017-08-01
ISBN:9787121315695
定价:¥49.00
购买这本书可以去
内容简介
本书系统介绍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.1 应用程序向导/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
附录A /252
参考文献 /293
第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.1 应用程序向导/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
附录A /252
参考文献 /293
猜您喜欢