Comment puis-je trouver l'intersection de deux segments de ligne?

Supposons que nous avons deux finis les segments de droite définie par deux points (dans l'espace à deux). Je voudrais trouver un moyen d'obtenir le point d'intersection de ces deux lignes. Finalement, je voudrais prolonger ce travail sur les ensembles de segments connectés.

J'ai trouvé une bonne solution ici: Python - matplotlib: intersection de lineplots. Toutefois, cela repose sur la scipy, qui, je crois, nécessite BLAS, qui, pour des raisons distinctes, je voudrais éviter.

matplotlib a un module appelé Chemin, qui a un intersects_path() fonction (http://matplotlib.org/api/path_api.html#matplotlib.path.Path.intersects_path) qui retourne true ou false pour l'existence d'une intersection, mais pas l'emplacement précis, que j'exige.

Personne ne sait d'une propre approche?

Toute solution je suis venue, c'est long, et si une solution existe déjà, je préférerais vraiment de ne pas ré-inventer la roue.

Merci!

Ce devrait être assez simple, non? 1) en Utilisant les points de terminaison, pour résoudre le slope et y-intercept de chaque segment de ligne. 2) Résoudre l'intersection une fois que vous savez l'équation de chaque ligne 3) Vérifier que cette intersection se trouve le long de deux lignes (et non à l'extérieur du segment)
Comme les Cyber dit cela devrait être assez trivial. Prendre un coup d'oeil ici et de voir si vous comprenez stackoverflow.com/questions/4543506/...
galbées pouvez le faire très rapidement, pypi.python.org/pypi/Shapely
Shapely est exactement la roue, je n'ai pas envie de réinventer. Grand paquet. Merci!

OriginalL'auteur Sergiy | 2014-03-15