Je recherche une bonne bibliothèque bien développée pour les manipulations géométriques et les évaluations en python, comme:
- évaluer l'intersection entre deux lignes en 2D et 3D (si présente)
- évaluer le point d'intersection entre un plan et une ligne, ou la ligne d'intersection entre deux plans
- évaluer la distance minimale entre une ligne et un point
- trouver l'orthonormal à un plan passant par un point
- faire pivoter, traduire, mettre en miroir un ensemble de points
- trouver l'angle dièdre défini par quatre points
J'ai un recueil pour toutes ces opérations, et je pourrais l'implémenter mais malheureusement je n'ai pas le temps, donc j'apprécierais une bibliothèque qui le fasse. La plupart des opérations sont utiles à des fins de jeu, donc je suis sûr que certaines de ces fonctionnalités peuvent être trouvées dans les bibliothèques de jeux, mais je préférerais ne pas inclure de fonctionnalités (telles que des graphiques) dont je n'ai pas besoin.
Aucune suggestion ? Merci
Réponses:
Jetez peut-être un coup d'œil à SymPy .
la source
Shapely est un joli wrapper python autour de la bibliothèque GEOS populaire .
la source
J'ai trouvé que pyeuclid était un excellent package mathématique euclidien simple et général. Bien que la bibliothèque ne contienne pas exactement les problèmes que vous avez mentionnés, son infrastructure est suffisamment bonne pour vous permettre de les écrire facilement.
la source
CGAL a également des liaisons Python .
la source
geometry-simple a des classes Point Line Plane Movement dans ~ 300 lignes, en utilisant uniquement numpy; regarde.
la source
Je veux vraiment une bonne réponse à cette question, et celles ci-dessus m'ont laissé insatisfait. Cependant, je viens de tomber sur pythonocc qui a fière allure, en plus de manquer de bons documents et d'avoir encore des problèmes d'installation (pas encore compatible pypi). La dernière mise à jour remonte à 4 jours (19 juin 2011). Il enveloppe OpenCascade qui a une tonne de fonctionnalités de géométrie et de modélisation. Sur le site Web de pythonocc:
[EDIT: J'ai maintenant téléchargé pythonocc et j'ai commencé à travailler sur certains des exemples]
Je pense qu'il peut effectuer toutes les tâches mentionnées, mais je l'ai trouvé peu intuitif à utiliser. Il est créé presque entièrement à partir de wrappers SWIG, et par conséquent, l'introspection des commandes devient difficile.
la source
Vous pourriez être intéressé par le module Python SpaceFuncs du projet OpenOpt, http://openopt.org
SpaceFuncs est un outil de modélisation géométrique 2D, 3D, N-dimensionnelle avec des possibilités de calculs paramétrés, d'optimisation numérique et de résolution de systèmes d'équations géométriques
la source
Python Wild Magic est un autre code enveloppé SWIG. Il s'agit cependant d'une bibliothèque de jeux, mais vous pouvez manipuler le fichier de bibliothèque SWIG pour exclure tout élément graphique indésirable de l'API Python.
la source