CCG 05-01:三角网格与边长度量
本页只解决一个问题
组合网格和离散度量怎样分开,三条边怎样恢复一个三角形?
本页是原长篇讲义的单概念版本。第一次阅读只追踪本页定义的对象;看见未掌握的前置符号时,先沿链接退回,不要跳过定义硬背结论。
开始前
1. 三角剖分曲面
一个定向三角网格记为
其中 是顶点, 是边, 是有向三角形。几何嵌入给每个顶点位置。
1.1 组合结构与几何结构要分开
- 组合结构:哪些顶点、边、面相邻;
- 分片线性几何:每条边的长度;
- 外在嵌入:顶点在 中的位置。
离散内在度量只需边长,并要求每个三角形满足严格三角不等式:
同一组边长可以有不同三维折叠,但内在角度、面积和离散曲率相同。
1.2 半边结构
每条无向边拆成两个定向半边 与。每个半边至少记录:
origin(h) : 起点
next(h) : 同一面中的下一条半边
twin(h) : 反向半边;边界处可为空
face(h) : 所属面
edge(h) : 所属无向边常数时间可完成:
- 沿面循环:
h -> next(h); - 穿过边:
h -> twin(h); - 绕顶点:
h -> twin(next(h))(具体公式随约定变化)。
2. 从边长恢复单个三角形
三角形 的边长记为
余弦定理:
Heron 公式:
也可在局部二维坐标中放置
所有三角形内的梯度、Jacobian 和能量都可在这个局部坐标中计算。
读完必须能回答
- 不看公式,用自己的话回答开头的核心问题。
- 指出本页最重要公式中每个符号的类型:标量、向量、矩阵、映射还是集合。
- 找出定理成立所需的假设,并举一个删除某条假设后可能失败的例子。
- 对最小例子手算一遍;若本页含代码,再比较手算与程序输出。
前后课程
许可协议:CC BY
作者:Davids
本文链接:https://hustjjd.github.io/ccg/05-01-lesson/
更新于:2026年10月12日