topologie géométrique 3D (par exemple intersection) dans le python
Question
J'utilise GEOS ( en Python / Django ) pour manipuler certains éléments 3d. Toutes les opérations topologiques fonctionnent parfaitement en 2D. Donc, j'ai créé simple MultiPolygon
avec 3D polygones (très simple en fait, il est juste une collection de plans verticaux), et un LineString
qui est également 3D. Maintenant, je voulais simplement l'intersection de ceux (dont je crois aurait été une liste de points-3D):
>>> l = LineString([0, 0, 0], [1, 1, 1])
>>> p = Polygon([[1, 0, 0], [0, 1, 0], [0, 1, 1000], [1, 0, 1000], [1, 0, 0]])
>>> p.intersects(l)
False
OK, GEOS ne prend pas en charge les opérations topologiques avec des données 3D ... Eh bien, il doit y avoir beaucoup de bibliothèques qui il peut le faire pour moi non ??? Donc, je googlé, et je ne peux pas trouver un seul !!! Donc, si quelqu'un a un pointeur, ce serait génial ...
EDIT
Il y a une question similaire Intersections de polygones 3D en python , mais cela ne donne pas de réponse satisfaisante (voir le commentaire).
La solution
Je ne crois toujours pas qu'il y ait un seul « bon choix » d'une bibliothèque pour faire en python, mais un certain nombre de projets prometteurs qui sont en développement, au premier rang amélioré cgal-bindings sur le code de Google.
Les nouvelles conditions de licence de CGAL de la version 4 en avant (GPL / LGPL) font également certaines parties de l'original question sur ce sujet à jour.