Я ищу хорошую и хорошо разработанную библиотеку для геометрических манипуляций и вычислений на python, например:
- оценить пересечение двух линий в 2D и 3D (если есть)
- оценить точку пересечения между плоскостью и линией или линию пересечения между двумя плоскостями
- оценить минимальное расстояние между линией и точкой
- найти ортонормированный к плоскости, проходящей через точку
- вращать, перемещать, отражать набор точек
- найти двугранный угол, определяемый четырьмя точками
У меня есть сборник по всем этим операциям, и я мог бы его реализовать, но, к сожалению, у меня нет времени, поэтому мне бы понравилась библиотека, которая это делает. Большинство операций полезны для игровых целей, поэтому я уверен, что некоторые из этих функций можно найти в игровых библиотеках, но я бы предпочел не включать функции (например, графику), которые мне не нужны.
Какие-либо предложения ? Спасибо
Ответы:
Возможно, взгляните на SymPy .
источник
Shapely - это хорошая оболочка на Python для популярной библиотеки GEOS .
источник
Я обнаружил, что pyeuclid - отличный простой математический пакет общего назначения. Хотя библиотека может не содержать именно тех проблем, о которых вы упомянули, ее инфраструктура достаточно хороша, чтобы можно было легко написать их самостоятельно.
источник
CGAL также имеет привязки к Python .
источник
geometry-simple имеет классы Point Line Plane Movement в ~ 300 строках, используя только numpy; взглянуть.
источник
Я действительно хочу получить хороший ответ на этот вопрос, и вопросы, приведенные выше, оставили меня неудовлетворенным. Тем не менее, я только что наткнулся на pythonocc, который выглядит великолепно, за исключением отсутствия хороших документов и по-прежнему имеет некоторые проблемы с установкой (еще не совместим с pypi). Последнее обновление было 4 дня назад (19 июня 2011 г.). Он является оболочкой OpenCascade, в которой есть множество функций для геометрии и моделирования. С веб-сайта pythonocc:
[РЕДАКТИРОВАТЬ: я загрузил pythonocc и начал работать с некоторыми примерами]
Я считаю, что он может выполнять все упомянутые задачи, но я нашел его не интуитивно понятным в использовании. Он почти полностью создан из оберток SWIG, и в результате самоанализ команд становится затруднительным.
источник
Вам может быть интересен модуль Python SpaceFuncs из проекта OpenOpt, http://openopt.org
SpaceFuncs - это инструмент для 2D, 3D, N-мерного геометрического моделирования с возможностями параметризованных вычислений, численной оптимизации и решения систем геометрических уравнений.
источник
Python Wild Magic - еще один код, обернутый SWIG. Однако это игровая библиотека, но вы можете манипулировать файлом библиотеки SWIG, чтобы исключить нежелательные графические элементы из Python API.
источник