У меня есть набор данных 3-мерных точек, для которых я хотел бы построить сетку, используя python. Все программное обеспечение, которое я видел, требует, чтобы вы предоставили края. Есть ли в Python программа, которая принимает в качестве входных данных набор точек в 3D и выводит сетку? Если возможно, я бы хотел, чтобы сетка была однородной.
python
mesh-generation
чертенок
источник
источник
Ответы:
Если неограниченная триангуляция в порядке, вы можете сделать это с помощью scipy.spatial.Delaunay, который использует Qhull.
источник
CGAL ( http://www.cgal.org ) имеет ряд модулей для триангуляции точек в 3D (поверхностные сетки из точек, триангуляции точек в 3D и т. Д.). Доступны обертки Python для подмножества модулей CGAL ( https://code.google.com/p/cgal-bindings ), в том числе для трехмерных триангуляций. Я использовал интерфейс CGAL C ++ для триангуляции точек в 3D, но у меня нет опыта работы с интерфейсом Python.
источник
Вы можете попробовать VTK, который имеет Python API. Сначала я бы попробовал ParaView и включил в него ваши точки, а затем попробовал некоторые из фильтров (например, Делоне). Если фильтры работают в ParaView с вашими данными (которые основаны на VTK), вы можете использовать VTK для выполнения этой работы. Насколько вы будете успешны, будет зависеть от того, как выглядят точки и насколько хорошо они соответствуют фильтрам.
Если VTK выглядит так, как будто он будет работать, посмотрите учебники Kitware по VTK, так как я знаю, что есть один, который проходит через Python / VTK.
источник