Я пишу код, который использует Библиотека TetGen найти выпуклую оболочку множества точек. Однако по умолчанию
tetrahedralize("Q", &in, &temp);
генерирует как выпуклый корпус а также трехмерная тетраэдризация Делоне. Я склонен полагать, что возможно получить только выпуклую оболочку, так как Mathematica имеет работающую реализацию Tetgen и соответствующую функцию TetGenConvexHull[]
это так, но после прохождения tetgen.cxx
исходный код и документация, Я не могу понять, как.
Как я могу изменить поведение TetGen по умолчанию, чтобы получить только выпуклую оболочку?
Короче нельзя. TetGen (версия 1.4.3) вычисляет тетраэдризацию Делоне, и из этого извлекается оболочка. Что вы можете сделать, это использовать "E"
возможность не генерировать *.ele
, Если вам нужен только выпуклый корпус, вы можете посмотреть на Qhull и там qconvex
fucntion.
Других решений пока нет …