三角剖分
三角剖分通常用于表示计算机图形、物理建模、地理信息系统、医学成像及其他应用领域中的二维和三维几何域。如下所示的地图多边形

可以通过如下所示的地图的三角剖分来表示。

三角剖分将一个复杂的多边形分解为一组较简单的三角多边形。可以使用这些多边形开发基于几何学的算法或图形应用。
同样,可以使用三角剖分表示三维几何域的边界。下图显示了三维空间中一组点的凸包。凸包的每个分面都是三角形。

您可以使用 MATLAB® 来表示和查询以下类型的三角剖分:
二维三角剖分,包含由顶点和边线限定的三角形
三维曲面三角剖分,包含由顶点和边线限定的三角形
三维三角剖分,包含由顶点、边线和面限定的四面体
MATLAB 使用矩阵格式表示三角剖分。此格式包含以下两个部分:
采用一个矩阵表示的顶点,该矩阵中每行包含三角剖分中一个点的坐标。
采用一个矩阵表示的三角剖分连接,该矩阵中每行定义一个三角形或四面体。
此图显示了一个简单的二维三角剖分。

下表显示了顶点信息。
| 顶点 | ||
|---|---|---|
| 顶点 ID | x 坐标 | y 坐标 |
| V1 | 2.5 | 8.0 |
| V2 | 6.5 | 8.0 |
| V3 | 2.5 | 5.0 |
| V4 | 6.5 | 5.0 |
| V5 | 1.0 | 6.5 |
| V6 | 8.0 | 6.5 |
上一个表中的数据在 MATLAB 环境中存储为矩阵。顶点 ID 是用于标识特定顶点的标签。这些标签用于说明顶点 ID 的概念,但不会显式存储。矩阵的行号充当顶点 ID。
该表中显示了三角剖分连接数据。
| 连接 | |||
|---|---|---|---|
| 三角形 ID | 边界顶点的 ID | ||
| T1 | 5 | 3 | 1 |
| T2 | 3 | 2 | 1 |
| T3 | 3 | 4 | 2 |
| T4 | 4 | 6 | 2 |
此表中的数据在 MATLAB 环境中存储为矩阵。三角形 ID 是用于标识特定三角形的标签。这些标签用于说明三角形 ID 的概念,但不会显式存储。矩阵的行号充当三角形 ID。
可以看到三角形 T1 是由三个顶点 {V5, V3, V1} 定义的。同样,T4 是由顶点 {V4, V6, V2} 定义的。此格式可自然扩展到要求更多数据列的更高维度。例如,三维空间中的四面体由四个顶点定义,每个顶点都包含三个坐标 (x, y, z)。
矩阵格式提供基于紧凑型低级别数组的表示的三角剖分。使用三角剖分开发算法时,可能需要更多有关几何属性、拓扑和邻接信息的信息。
例如,在绘制如下所示的带注解的三角剖分之前,可以计算三角形内心。在这种情况下,使用内心显示每个三角形中的三角形标签(T1、T2 等)。如果要用红色绘制边界,需要确定仅由一个三角形引用的边线。
