本节课的主题围绕三维数据表示的基本概念展开,深入探讨了多种数据结构在三维几何处理中的应用,包括点云、符号距离场、八叉树和三角形网格。尤其关注三角形网格的几何和拓扑方面,讲解了半边数据结构及其在邻域搜索中的应用。这些概念为进一步的算法开发提供了必要的基础。

三维数据结构

三角形网格

  • 几何与拓扑:三角形网格由几何和拓扑两部分构成。几何部分关注顶点位置,而拓扑部分关心顶点间的连接关系。这种结构简单且有效,使算法设计变得更加直观。
  • 半边数据结构:通过将每条边分为两条半边,可以高效地索引顶点、边和面,优化邻域搜索。在实际编程中,这种结构可以显著提升算法效率。

三维数据存储格式

  • OBJ和OFF文件格式:课程列举了常见的三维数据存储格式,强调了解这些格式能够避免错误并提高数据处理效率。

几何处理与计算

离散微分几何

  • 基本微分量计算:离散微分几何的课程重点在于梯度、法向量、局部平均区域及拉普拉斯算子的计算方法。这为复杂几何操作奠定了基础。

局部平均区域与法向量

  • 计算方法:局部平均区域的选择对几何量评估至关重要。大邻域提高光滑度但降低精度,小邻域提供较精确结果但对噪声敏感。因此,课程强调平衡选择。
  • 法向量计算:每个三角形的法向量通过叉积得到。顶点法向量是通过相邻三角形法向的加权平均计算,权重可包括单位权、三角形面积和角度。

线性插值与梯度计算

  • 重心坐标与线性插值:重心坐标在三角形内函数值估算中起关键作用,涉及顶点函数值的线性插值。此方法有效连接顶点和三角形内部的值。
  • 梯度计算:借助面积比简化梯度求解,利用三角形底和高的关系推导出梯度公式,提高计算效率。

拉普拉斯算子

  • 性质与应用:拉普拉斯算子在几何处理中的重要性体现在其对几何谱性质的描述及在滤波、分割重建等领域的应用。离散拉普拉斯算子需具备对称性和局部性以模拟连续算子特性。

应用与实验

热扩散与模拟

  • 局部性与线性性:在热传导的模拟中,局部性和线性性是确保热量正常扩散的关键。正权重在模型中尤为重要,以确保模拟准确性。
  • 拉普拉斯算子的构造:满足对称性和正权重的离散拉普拉斯算子构建,可确保模拟的连续性和稳定性。

几何与代数的结合

  • 内积与面积计算:内积公式和三角形面积的正切计算提供了几何与代数结合的实例。理解这些概念可帮助解决复杂的数学问题。

曲率计算与可视化

  • 平均曲率与高斯曲率:课程介绍了平均曲率(两个主曲率的平均值)和高斯曲率(主曲率的乘积),展示了其在几何特性中的作用。
  • 作业要求:通过OpenGL将曲率值映射到颜色,可视化曲面特性是课程的一项实作任务。这涉及为曲率值设计颜色条以增强理解。