2026a

# edges


三角剖分中的边

函数库: TyMath

# 语法

E = edges(TR)

# 说明

E = edges(TR) 返回三角剖分 TR 中所有唯一边的顶点连接列表。示例

输出 E 是一个双列矩阵,其中每一行表示一条边的两个端点顶点 ID。顶点 ID 是属性 TR.Points 中对应顶点的行号。

对于二维三角剖分,edges 返回三角形的所有唯一边。对于三维三角剖分,edges 返回四面体中出现的所有唯一边。

# 示例

返回二维三角剖分中的边

创建一个二维三角剖分。

using TyMath
using TyPlot

P = [2.5 8.0;
     6.5 8.0;
     2.5 5.0;
     6.5 5.0;
     1.0 6.5;
     8.0 6.5]
T = Int32[5 3 1;
          3 2 1;
          3 4 2;
          4 6 2]
TR = triangulation(T,P);

返回该三角剖分中的所有边。

E = edges(TR)
E = 9×2 Matrix{Int32}:
 1  2
 1  3
 1  5
 2  3
 2  4
 2  6
 3  4
 3  5
 4  6

定义三角剖分中第一个点的坐标。然后定义与第一个点共享边的三个顶点(第二个、第三个和第五个)的坐标。

startVert = TR.Points[1:1,:];
endVert = TR.Points[[2,3,5],:];

绘制该三角剖分。以绿色绘制第一个顶点,以红色绘制沿一条边的连接点。

triplot(TR)
hold("on")
plot(startVert[1,1],startVert[1,2],"g.",markersize = 20)
plot(endVert[:,1],endVert[:,2],"r.",markersize = 20)
hold("off")

# 输入参数

TR - 三角剖分表示法
AbstractTriangulation

三角剖分表示法。

# 输出参数

E - 边矩阵
双列矩阵

边矩阵,以双列矩阵形式返回。

  • E 的每一行表示一条边;
  • E[i,1] 和 E[i,2] 是第 i 条边的两个端点顶点 ID;
  • 顶点 ID 是属性 TR.Points 中对应顶点的行号。

# 另请参阅

isConnected | triangulation | delaunayTriangulation