libreria biblioteca python geometry

libreria - biblioteca python



Buena biblioteca de geometrĂ­a en python? (8)

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 avión 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
  • encuentra el ortonormal a un avión que pasa por un punto
  • rotar, traducir, reflejar un conjunto de puntos
  • encontrar el ángulo diedro definido por cuatro puntos

Tengo un libro de 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 las bibliotecas de juegos, pero preferiría no incluir funcionalidades (como gráficos) que no necesito.

Alguna sugerencia ? Gracias


Encontré pyeuclid como un gran paquete euclidiano de matemáticas de propósito general simple. Aunque es posible que la biblioteca no contenga exactamente los problemas que usted mencionó, su infraestructura es lo suficientemente buena como para facilitar la escritura de los mismos.


Puede estar interesado en el módulo 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


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 carecer de buenos documentos y todavía tener algunos problemas con la instalación (aún no compatible con pypi). La última actualización fue hace 4 días (19 de junio de 2011). OpenCascade que tiene una gran cantidad de geometría y funcionalidad de modelado. Desde el sitio web de pythonocc:

pythonOCC es un marco de desarrollo 3D CAD / CAE / PLM para el lenguaje de programación Python. Proporciona funciones tales como operaciones topológicas y geométricas avanzadas, intercambio de datos (STEP / IGES, importación / exportación de STL), mallado 2D y 3D, simulación de cuerpo rígido, modelado paramétrico.

[EDITAR: Ya 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. Está creado casi en su totalidad a partir de contenedores SWIG, y como resultado, la introspección de los comandos se vuelve difícil.


Tal vez eche un vistazo a SymPy .


geometry-simple tiene clases Point Line Plane Movement en ~ 300 líneas, usando solo numpy; echar un vistazo.


Python Wild Magic es otro código envuelto en SWIG. Sin embargo, es una biblioteca de juegos, pero podría manipular el archivo de la biblioteca SWIG para excluir cualquier material gráfico no deseado de la API de Python.



Shapely es una linda envoltura de pitón alrededor de la popular biblioteca de GEOS .