Выпуклый корпус в 3D Perl
У меня есть набор точек в 3D с координатами XYZ. мне бы хотелось вычислить выпуклую оболочку этих точек. Я прошел через доступные алгоритмы, но я не мог сделать это в Perl. Perl Math: модуль ConvextHull я также проверил, но я не получил, как дать эти 3D точки в качестве входных данных. Пожалуйста, помогите мне.
X Y Z
POINT 1 -15.037 7.344 14.621
POINT 2 -15.467 6.281 15.522
POINT 3 -15.147 6.738 16.954
POINT 4 -13.998 7.141 17.197
POINT 5 -14.697 4.973 15.165
POINT 6 -15.115 4.480 13.780
POINT 7 -14.965 3.895 16.188
POINT 8 -16.607 4.347 13.471
POINT 9 -16.087 6.731 17.929
POINT 10 -15.826 6.999 19.343
POINT 11 -15.144 5.847 20.038
2 ответа
Math::ConvexHull
не поможет, потому что он работает только с 2D данными (X и Y).
К сожалению похоже Math::Geometry::Planar
имеет такое же ограничение.
Половина ответа: возможно, вы можете решить свою проблему, управляя библиотекой Qhull / сопутствующими программами командной строки из Perl.
Я не проверял, потому что я не знаю математику.