Создание сетки данных трехмерной поверхности в python


11

У меня есть набор данных 3-мерных точек, для которых я хотел бы построить сетку, используя python. Все программное обеспечение, которое я видел, требует, чтобы вы предоставили края. Есть ли в Python программа, которая принимает в качестве входных данных набор точек в 3D и выводит сетку? Если возможно, я бы хотел, чтобы сетка была однородной.


1
Какова геометрия объекта, который вы хотите сетка. Выпуклая оболочка из точек?
Нико Шлёмер

Ответы:


5

Если неограниченная триангуляция в порядке, вы можете сделать это с помощью scipy.spatial.Delaunay, который использует Qhull.


3

CGAL ( http://www.cgal.org ) имеет ряд модулей для триангуляции точек в 3D (поверхностные сетки из точек, триангуляции точек в 3D и т. Д.). Доступны обертки Python для подмножества модулей CGAL ( https://code.google.com/p/cgal-bindings ), в том числе для трехмерных триангуляций. Я использовал интерфейс CGAL C ++ для триангуляции точек в 3D, но у меня нет опыта работы с интерфейсом Python.


0

Вы можете попробовать VTK, который имеет Python API. Сначала я бы попробовал ParaView и включил в него ваши точки, а затем попробовал некоторые из фильтров (например, Делоне). Если фильтры работают в ParaView с вашими данными (которые основаны на VTK), вы можете использовать VTK для выполнения этой работы. Насколько вы будете успешны, будет зависеть от того, как выглядят точки и насколько хорошо они соответствуют фильтрам.

Если VTK выглядит так, как будто он будет работать, посмотрите учебники Kitware по VTK, так как я знаю, что есть один, который проходит через Python / VTK.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.