Essayez ceci:
http://www.cs.man.ac.uk/~toby/alan/software/
Notez qu'il est pas libre pour un usage commercial.
Pour plus de détails vous pouvez continuer à cette même question:
A simple algorithm for polygon intersection
Pour déterminer si deux simple polygones se croisent:
Si deux polygones simples ont un intersection non-vide, l'un des événements suivants se produira:
A) L'un d'eux a un coin à l'intérieur de l'autre.
B) L'un d'entre eux a un bord entier à l'intérieur de l'autre (les coins de ce bord peuvent ne pas être nécessairement à l'intérieur). Cela signifie que le milieu de ce bord sera à l'intérieur.
C) Les polygones sont identiques.
D) Il y a deux arêtes qui se croisent sous un angle. Le point d'intersection n'étant pas un angle avec l'un des polygones. Ce que vous devez faire est de vérifier si les polygones sont identiques (avoir les mêmes coins), ou si l'un des coins ou l'un des milieux se trouve à l'intérieur de l'autre polygone ou s'il y a deux bords qui se croisent ailleurs que dans un coin.
Determining if a point lies on the interior of a polygon.
Clarification: Avez-vous besoin d'une réponse simple * Est-ce qu'ils se croisent? * Ou avez-vous besoin de l'intersection? –
@Alin Purcaru: J'ai besoin d'une simple réponse "est-ce qu'ils se croisent". –
J'ai ajouté une réponse pour les polygones simples. Cela * peut * vous aider. –