给定一个点集(即一个 3XN 顶点数组),我如何使用 matlab 对其进行三角测量?假设点集确实代表了对象的某个表面,并且不包含任何噪声。
编辑:选择的答案提供了一种创建网格四面体的方法。我在寻找三角测量;对于我的凸形状的具体情况,凸包(convhulln
按照答案评论中的建议使用)就足够了。
给定一个点集(即一个 3XN 顶点数组),我如何使用 matlab 对其进行三角测量?假设点集确实代表了对象的某个表面,并且不包含任何噪声。
编辑:选择的答案提供了一种创建网格四面体的方法。我在寻找三角测量;对于我的凸形状的具体情况,凸包(convhulln
按照答案评论中的建议使用)就足够了。
使用 delaunay3 并将四面体网格转换为三角形网格
要创建 Delaunay 三角剖分,您可以使用类DELAUNAYTRI:
您通过调用创建一个三角测量对象
DT = DelaunayTri(coordinates);
其中coordinates
是一个 N×3(或 2)顶点坐标数组。
要访问三角测量,请调用
tri = DT.triangulation;
要绘图,请调用例如
patch('Vertices',DT.X,'Faces',DT.triangulation)