У меня есть вершины неправильного почти выпуклого многогранника, например что-то похожее на икосаэдр:
xyz = [0.8198 -0.1474 -0.5534;
0.3944 0.4688 0.7904;
0.6851 0.6826 -0.2545;
-0.6855 0.4451 0.5762;
0.2117 -0.8247 -0.5245;
0.8263 -0.3318 0.455;
-0.8393 -0.502 -0.2086;
-0.0868 -0.9484 0.305;
-0.1256 0.9915 -0.0353;
-0.304 -0.3252 0.8954;
-0.7964 0.4053 -0.4489;
-0.0817 0.1043 -0.9912];
Я хочу идентифицировать ребра и грани многоугольника и построить твердое тело в 3D. Это то, что я пробовал, но, хотя и достаточно близко, это выглядит неправильно:
x = xyz(:, 1);
y = xyz(:, 2);
z = xyz(:, 3);
tri = delaunay(x, y, z);
tetramesh(tri, xyz)
РЕДАКТИРОВАТЬ --> Следуя ответу Криса Тейлора, я понял, что должен также указать, что желаемые выходные «лица» должны быть массивом ячеек, где каждый элемент представляет собой вектор из k индексов, представляющих вершины этого лица; и аналогичным образом «ребра» должны быть матрицей, где каждая строка представляет собой вектор из 2 индексов, представляющих вершины, которые соединяет ребро
Есть идеи?
P.S. Я пытался добавить теги: многогранник, твердое тело, делоне и тетрамеш, но система не позволила мне это сделать - возможно, кто-то, у кого есть право создавать новые теги, мог бы сделать это за меня? Может быть, удалить менее точные теги, такие как «участок», «ребра», «вершины», «многоугольники»?