matlab: набор точек триангуляции - PullRequest
0 голосов
/ 21 июня 2011

Учитывая набор точек (то есть массив вершин 3XN), как я могу триангулировать его с помощью matlab? Предполагая, что набор точек представляет некоторую поверхность объекта и не содержит шума.


EDIT: Выбранный ответ дает возможность создать тетраэдры сетки. Я искал триангуляцию; для моего конкретного случая выпуклой формы было достаточно выпуклой оболочки (используя convhulln, как предложено в комментариях к ответу).

Ответы [ 2 ]

1 голос
/ 15 июля 2012

используйте delaunay3 и конвертируйте тетраэдрическую сетку в треугольную

http://www.mathworks.com/matlabcentral/fileexchange/5355-toolbox-graph/content/toolbox_graph/tet2tri.m

1 голос
/ 21 июня 2011

Для создания триангуляции Делоне вы можете использовать класс DELAUNAYTRI :

Вы создаете объект триангуляции, вызывая

DT = DelaunayTri(coordinates);

где coordinates - массив координат вершин размером N × 3 (или 2).

Чтобы получить доступ к триангуляции, позвоните

tri = DT.triangulation;

Чтобы построить, позвоните, например,

patch('Vertices',DT.X,'Faces',DT.triangulation) 
...