《计算机图形学 三维模型处理算法初步 理论与实现 C#版》PDF下载

  • 购买积分:10 如何计算积分?
  • 作  者:赵辉,王晓玲著
  • 出 版 社:北京:海洋出版社
  • 出版年份:2014
  • ISBN:9787502789732
  • 页数:201 页
图书介绍:本书是数字媒体技术专业的教材和计算机图形学的教材。本书是讲述如何进行软件开发,如何进行三维模型处理的编程的书,涉及到三维模型的简化,细化,分段,信息查询等基本操作,具体讲解底层的程序和算法。本书分为14章,分别讲述了三维模型的数据结构;三维模型的生成;对偶模型;点,边,面的添加删除等三维模型的基本操作;各种三维模型元素的查找;补洞切割算法;三维模型简化,细分算法;三维模型的几何,拓扑信息计算;三维模型上的莫斯理论应用,还有三维模型的分段,文件加载的算法。 本书是三维模型动画、渲染算法等课程的基础。学习本书的前修课程是C#、C++或者Java等编程语言。如果学过“数据结构和算法”课程在学习本书效果会更好。本书不需要提前掌握OpenGL渲染, 可以和OpenGL编程并行学习。

1 三维模型数据结构 1

1.1 三维模型简介 1

1.2 三维模型的操作 3

1.3 基于数组的数据结构 4

1.以面为中心 4

2.共享顶点 4

3.基于面连接 5

4.基于边连接 5

5.邻接矩阵 5

6.角表 6

1.4 半边数据结构 6

1.5 半边数据结构代码 8

1.模型网格类 9

2.顶点类 9

3.半边类 12

4.边类 12

5.面类 14

6.属性类 17

2 三维模型的生成 18

2.1 生成正多边形/圆 18

2.2 生成锥体 19

2.3 生成柱体 20

2.4 生成球面 20

2.5 生成平面网格 22

2.6 克隆 23

3 对偶模型 25

3.1 对偶模型构造 25

3.2 对偶模型算法 26

4 三维模型的基本操作 31

4.1 添加一个面 31

4.2 删除一个面 38

4.3 删除一条边 39

4.4 删除一个顶点 41

4.5 分割一个点 44

4.6 合并一条边 47

4.7 切换一条边 52

4.8 其他基本操作 54

1.生成噪声 54

2.包围框顶点位置 54

3.缩放模型 55

4.移动模型到中心 56

5.把选中的点分组 56

6.重新设置序号 57

7.改变面的方向 58

5 点边面查找 62

5.1 查找一个顶点的邻域 62

1.查找一个顶点的一层邻域顶点 62

2.查找一个顶点的一层邻域边 62

3.查找一个顶点的一层邻域面 62

5.2 查找一条边的邻域 63

1.查找一条边的一层邻域顶点 63

2.查找一条边的一层邻域边 64

3.查找一条边的一层邻域面 66

5.3 查找一个面的邻域 66

1.查找一个面的一层邻域顶点 66

2.查找一个面的一层邻域边 67

3.查找一个面的一层邻域面 67

5.4 查找一组点、边、面的一层邻域 68

1.查找一组顶点的一层邻域半边 68

2.查找一组顶点的一层邻域顶点 71

3.查找一组顶点的一层邻域边 71

4.查找一组顶点的一层邻域面 71

5.查找一组边的一层邻域顶点 72

6.查找一组边的一层邻域边 73

7.查找一组边的一层邻域面 73

8.查找一组面的一层邻域顶点 74

9.查找一组面的一层邻域边 74

10.查找一组面的一层邻域面 74

5.5 查找一组点、边、面的边界点、边、面 75

1.查找一组顶点的边界半边 75

2.查找一组顶点的边界顶点 77

3.查找一组顶点的边界面 78

4.查找一组边的边界顶点 78

5.查找一组边的边界边 78

6.查找一组边的边界面 79

7.查找一组面的边界顶点 79

8.查找一组面的边界边 79

9.查找一组面的边界面 80

5.6 查找边界 80

5.7 查找边的分割区域 81

6 补洞切割 85

6.1 补洞 85

6.2 沿平面切割模型 87

6.3 按三角形面切割模型 90

6.4 沿选择的边切开模型 92

6.5 分割模型组件 95

6.6 分割钝角 97

7 三维模型简化 100

7.1 顶点聚类 100

7.2 二次误差度量算法 104

1.数学原理 104

2.算法步骤 106

3.简化效果 110

7.3 元素删除简化 111

1.最小边长合并简化 111

2.最小面积简化 113

3.最小高斯曲率简化 113

7.4 简化误差度量 114

7.5 简化的记录 116

8 三维模型细分 119

8.1 Loop细分算法 119

8.2 Modified Butterfly细分算法 122

8.3 Sqrt3细分算法 126

8.4 细分算法效果比较 128

9 5-6-7模型 130

9.1 顶点的价 130

9.2 3价到4价 131

9.3 4价到5价 133

9.4 面分裂 138

9.5 分割 141

9.6 简化网格 143

10 三维模型几何 148

10.1 面积 148

1.三角形面的面积 148

2.奥若诺伊(Voronoi)面积 150

3.混合面积 151

10.2 体积 152

10.3 面的法向 153

10.4 顶点的法向 153

1.相同权重法向 153

2.面积权重法向 154

3.顶角权重法向 154

4.内接球法向 154

5.法向对比 155

10.5 双面夹角 156

10.6 三角形的角度 157

10.7 曲率 157

1.曲线曲率 157

2.曲面曲率 158

3.主曲率 158

4.高斯曲率 159

5.平均曲率 159

10.8 曲率计算 159

1.平均曲率 160

2.高斯曲率 160

3.主曲率方法一 162

4.主曲率方法二 162

5.主曲率方法三 162

6.效果图 162

11 三维模型拓扑 164

11.1 拓扑 164

11.2 组件数 164

11.3 亏格 165

11.4 欧拉公式 166

1.欧拉示性数 166

2.效果图 166

3.欧拉定理 168

11.5 高斯-博内定理 169

12 莫斯理论 170

12.1 莫斯函数 170

12.2 关键点 172

12.3 莫斯定理 175

12.4 莫斯复形 176

12.5 调和莫斯函数 179

1.定义 179

2.代码 179

3.效果图 181

12.6 莫斯函数应用 182

1.剪开模型 182

2.莫斯简化 183

3.模型分段 184

13 三维模型分段算法 185

13.1 概述 185

1.优化问题 185

2.约束条件 186

3.模型分段属性 186

13.2 区域增长算法 187

1.以点为中心分段 187

2.以三角形面为中心分段 190

13.3 K-Means算法 194

14 三维模型文件加载 196

14.1 OBJ格式文件 196

1.简述 196

2.特点 196

3.结构 196

4.示例 197

5.算法步骤 197

14.2 OFF格式文件 199

1.简述 199

2.结构 200

3.示例 200

参考文献 201