我想用二维delaunay函数在MATLAB中生成三角形网格。所以我声明了X和Y的值,并设置了tri=delaunay(X,Y)。然后我使用triplot来绘制它。但是,tri能给我带来什么呢?它会给我的每个三角形一个特殊的代号吗?在阅读了一些MATLAB教程之后,我仍然不能理解它。
发布于 2012-03-20 08:18:15
delaunay函数将tri作为三角形连接的Mx3矩阵返回,其中每个M三角形都表示为一个整数三元组,该整数组索引到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,:)是第一个三角形,tri(n,:)是第n个三角形,依此类推。如果你想重新排序训练列表,你可以排列数组,但索引必须始终是线性的-如果有M三角形,索引必须包含1:M。
希望这能有所帮助。
https://stackoverflow.com/questions/9779762
复制相似问题