3d Math Library для Python
Я ищу 3d математическую библиотеку в python или с привязками python.
ему нужно обрабатывать вращение, перевод, перспективную проекцию, все в принципе.
то, что им НЕ Ищет, - это библиотека, предназначенная для рисования на экране, работа в Интернете в течение нескольких часов только приводила к тому, что 3d-библиотеки склонялись к тому, чтобы что-то отображать на экране. я не хочу никакой визуализации вообще, все, что мне нужно, - это возможность кормить библиотеку x, y, z координат и получать координаты экрана x, y.
Я не возражаю, если это библиотека визуализации, если она может быть использована без визуализации чего-либо на экран.
есть ли что-нибудь подобное для python?
Изменить:
пожалуйста, не рекомендуем scipy/numpy, поскольку они arent нацелены на математику 3d, но по математике в целом, они выглядят как отличные инструменты, если я хотел сам построить библиотеку, что я не делаю. Благодарю.
Ответы
Ответ 1
Попробуйте gameobjects - это математическая библиотека, которая включает классы Python для матриц и векторов, а также методы для преобразований. Я думаю, что он предоставит большинство (если не все) того, что вам нужно, плюс чистый Python, чтобы вы могли его изменить, если вам нужно.
Ответ 2
OpenCV - интерфейс Python может обрабатывать все описанные вами операции.
Я слышал, что SciPy отлично подходит для этого, но я использовал только OpenCV.
Ответ 3
transformations.py
Библиотека для расчета матриц 4x4 для перевода, поворота, отражения,
масштабирования, сдвига, проектирования, ортогонализации и наложения массивов
Трехмерных однородных координат, а также для преобразования между матрицами вращения,
Углы Эйлера и кватернионы. Также включает объект управления Arcball и
функции для разложения матриц преобразования.
Авторы: Кристоф Гольке http://www.lfd.uci.edu/~gohlke/Лаборатория флуоресцентной динамики, Калифорнийский университет, Ирвин
Ответ 4
является ли использование SAGE для вас?
http://vnoel.wordpress.com/2008/05/03/bye-matlab-hello-python-thanks-sage/
http://www.sagemath.org/
Ответ 5
python-math3d - еще одна хорошая математическая 3D-библиотека, которая является объектно-ориентированной
https://github.com/mortlind/pymath3d
import math3d as m3d
v = m3d.Vector(1,2,3) # Векторный объект
o = m3d.Orientation.new_euler ((1,0,0), "ZYX" ) # Объект ориентации от одного типа углов эйлеров
t = m3d.Transform(o, v) # A Объект преобразования, созданный с использованием вектора и ориентации
t2 = m3d.Transform() # Другой объект Transform (Identity)
t2.orient.rotate_x (3) # поверните преобразование вокруг x
res = t * t2 # Матричное умножение
Ответ 6
Я бы предложил MayaVi. Пожалуйста, взгляните на данную ссылку. Он делает почти все, что вы упомянули.
Ответ 7
Сейчас я работаю над этим.
https://github.com/adamlwgriffiths/Pyrr
Он использует numpy для скорости.
Цель состоит в том, чтобы предоставить чистую математику python 3D.
Я избегаю внешних библиотек, потому что мне надоело следовать сложным установкам программного обеспечения. Python должен быть легким.
Ответ 8
Как насчет PyGame? Я никогда не использовал его, но он может содержать то, что вы ищете.
Ответ 9
http://cgkit.sourceforge.net/doc/index.html
Реализация не всегда лучшая, но она включает в себя кватернионы, а также стандартные матричные и векторные типы. Я использовал его для инструментов в нескольких коммерческих играх.