Estoy buscando una biblioteca buena y bien desarrollada para manipulaciones geométricas y evaluaciones en Python, como:
- evaluar la intersección entre dos líneas en 2D y 3D (si está presente)
- evaluar el punto de intersección entre un plano y una línea, o la línea de intersección entre dos planos
- evaluar la distancia mínima entre una línea y un punto
- encontrar lo ortonormal a un plano que pasa por un punto
- rotar, trasladar, reflejar un conjunto de puntos
- encontrar el ángulo diedro definido por cuatro puntos
Tengo un libro compendio para todas estas operaciones, y podría implementarlo pero desafortunadamente no tengo tiempo, así que disfrutaría de una biblioteca que lo haga. La mayoría de las operaciones son útiles para juegos, por lo que estoy seguro de que algunas de estas funcionalidades se pueden encontrar en bibliotecas de juegos, pero preferiría no incluir funcionalidades (como gráficos) que no necesito.
Alguna sugerencia ? Gracias
Respuestas:
Quizás eche un vistazo a SymPy .
fuente
Shapely es un buen envoltorio de Python alrededor de la popular biblioteca GEOS .
fuente
Encontré que pyeuclid es un gran paquete simple de matemáticas euclidianas de propósito general. Aunque es posible que la biblioteca no contenga exactamente los problemas que mencionó, su infraestructura es lo suficientemente buena como para facilitar la escritura de estos por su cuenta.
fuente
CGAL también tiene enlaces de Python .
fuente
geometry-simple tiene clases Point Line Plane Movement en ~ 300 líneas, usando solo numpy; echar un vistazo.
fuente
Realmente quiero una buena respuesta a esta pregunta, y las anteriores me dejaron insatisfecho. Sin embargo, me encontré con pythonocc que se ve muy bien, además de que carece de buenos documentos y todavía tengo algunos problemas con la instalación (aún no es compatible con pypi). La última actualización fue hace 4 días (19 de junio de 2011). Envuelve OpenCascade, que tiene un montón de geometría y funcionalidad de modelado. Desde el sitio web de pythonocc:
[EDITAR: Ahora descargué pythonocc y comencé a trabajar con algunos de los ejemplos]
Creo que puede realizar todas las tareas mencionadas, pero me pareció poco intuitivo de usar. Se crea casi en su totalidad a partir de contenedores SWIG y, como resultado, la introspección de los comandos se vuelve difícil.
fuente
Puede que le interese el módulo de Python SpaceFuncs del proyecto OpenOpt, http://openopt.org
SpaceFuncs es una herramienta para el modelado geométrico 2D, 3D, N-dimensional con posibilidades de cálculos parametrizados, optimización numérica y resolución de sistemas de ecuaciones geométricas.
fuente
Python Wild Magic es otro código envuelto de SWIG. Sin embargo, es una biblioteca de juegos, pero puede manipular el archivo de la biblioteca SWIG para excluir cualquier elemento gráfico no deseado de la API de Python.
fuente