Я использую GEOS (in Python/Django) для управления некоторыми 3d-элементами. Все топологические операции отлично работают в 2D. Итак, я создал простой MultiPolygon
с 3D-полигонами (очень простой, это просто набор вертикальных плоскостей) и LineString
, который также является 3D. Теперь я просто хотел пересечение тех (который я считаю, был бы список 3D-очков):3D-геометрическая топология (например, пересечение) в Python
>>> l = LineString([0, 0, 0], [1, 1, 1])
>>> p = Polygon([[1, 0, 0], [0, 1, 0], [0, 1, 1000], [1, 0, 1000], [1, 0, 0]])
>>> p.intersects(l)
False
Так хорошо, не ГМО поддержки топологических операций с 3D-данных ... Ну, должно быть много библиотек, которые могут сделать это для меня правильно ??? Так что я googled, и я просто не могу найти никого! Так что если кто-то есть указатель, что было бы здорово ...
EDIT
Существует аналогичный вопрос Intersections of 3D polygons in python, но это не дает удовлетворительного ответа (см комментарий).
Возможный дубликат [Пересечения 3D-полигонов в python] (http://stackoverflow.com/questions/2549708/intersections-of-3d-polygons-in-python) – plaes
@plaes: Кроме того, что [пересечения трехмерных полигонов в python] не имеет никакого хорошего ответа. Они предлагают использовать pvtrace, который прослеживает некоторые лучи: я напоминаю вам, что я использую 'MultiPolygons' и' LineString': будет очень неэффективно перебирать все полигоны, все сегменты линии и вычислять сегмент интервала INTERGON для каждого из этих , – sebpiq
плюс, просто зайдите на сайт pvtrace и найдите документ, а затем скажите мне, хотите ли вы его использовать ... – sebpiq