我想在MATLAB中使用2-D中的delaunay函数生成三角形网格。所以我宣布 X和Y值并设置tri = delaunay(X,Y)。然后我用triplot绘制它。然而, 三给我什么?它是否给我的每个三角形一个特殊的指定编号? 在阅读了一些MATLAB教程后,我仍然没有 理解它。
答案 0 :(得分:1)
delaunay
函数返回tri
作为三角形连通性的Mx3
矩阵,其中每个M
三角形都表示为整数三元组,其索引为{{ 1}}顶点位置数组。
通过一个简单的例子可能更容易:
X,Y
三角形只是线性编号 - %% a simple square box
X = [0.0; 1.0; 1.0; 0.0];
Y = [0.0; 0.0; 1.0; 1.0];
%% an example output from delaunay()
tri = [1,2,3 %% 1st triangle connects vertices 1,2,3
1,3,4 %% 2nd triangle connects vertices 1,3,4
];
是第一个三角形,tri(1,:)
是第n个三角形等。如果你想重新排序traingles列表,你可以置换数组,但是索引始终必须是线性的 - 如果有tri(n,:)
个三角形,则索引必须包含M
。
希望这有帮助。