Подтвердить что ты не робот

Хорошая библиотека геометрии в python?

Я ищу хорошую и хорошо разработанную библиотеку для геометрических манипуляций и оценок в python, например:

  • оценить пересечение двух строк в 2D и 3D (если имеется)
  • оценить точку пересечения между плоскостью и линией или линию пересечения между двумя плоскостями
  • оценить минимальное расстояние между линией и точкой
  • найти ортонормированную плоскость, проходящую через точку
  • вращать, переводить, зеркально отображать множество точек
  • найти двугранный угол, определяемый четырьмя точками

У меня есть сборник для всех этих операций, и я мог бы его реализовать, но, к сожалению, у меня нет времени, поэтому мне понравится библиотека, которая это сделает. Большинство операций полезны для игровых целей, поэтому я уверен, что некоторые из этих функций можно найти в игровых библиотеках, но я бы предпочел не включать в себя функциональные возможности (например, графику), которые мне не нужны.

Любые предложения? Благодаря

4b9b3361

Ответ 1

Возможно, посмотрите SymPy.

Ответ 2

Shapely - хорошая обложка python вокруг популярного GEOS.

Ответ 3

Я нашел pyeuclid, чтобы быть простым простым евклидовым математическим пакетом общего назначения. Хотя библиотека может содержать не только те проблемы, о которых вы говорили, ее инфраструктура достаточно хороша, чтобы упростить их запись самостоятельно.

Ответ 5

geometry-simple имеет классы Point Line Plane Movement в ~ 300 строк, используя только numpy; взгляните.

Ответ 6

Мне действительно нужен хороший ответ на этот вопрос, и те, что выше, оставили меня недовольным. Тем не менее, я просто наткнулся на pythonocc, который отлично смотрится, помимо отсутствия хороших документов и все еще испытывающих некоторые проблемы с установкой (еще не совместимой с pypi), Последнее обновление было 4 дня назад (19 июня 2011 г.). Он обертывает OpenCascade, который обладает тонкостью функций геометрии и моделирования. На веб-сайте pythonocc:

pythonOCC - это трехмерная среда разработки CAD/CAE/PLM для языка программирования Python. Он предоставляет такие функции, как расширенные топологические и геометрические операции, обмен данными (STEP, IGES, импорт/экспорт STL), 2D и 3D-сетка, моделирование жесткого тела, параметрическое моделирование.

[EDIT: теперь я загрузил pythonocc и начал работать с некоторыми примерами]

Я считаю, что он может выполнять все упомянутые задачи, но я счел его неинтуитивным для использования. Он создается почти полностью из оберток SWIG, и в результате интроспекция команд становится затруднительной.

Ответ 7

Вам может быть интересен модуль Python SpaceFuncs из проекта OpenOpt, http://openopt.org

SpaceFuncs - инструмент для 2D, 3D, N-мерного геометрического моделирования с возможностями параметризованных вычислений, численной оптимизации и решения систем геометрических уравнений

Ответ 8

Python Wild Magic - еще один SWIG-код. Это, однако, игровая библиотека, но вы можете манипулировать файлом библиотеки SWIG, чтобы исключить любые нежелательные графические материалы из API Python.