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