Tester si un polygone est simple ou complexe

Pour un polygone défini comme une séquence de (x,y) de points, comment puis-je détecter si c'est complexe ou pas? Un polygone complexe a des intersections avec lui-même, comme l'a montré:

Tester si un polygone est simple ou complexe

Est-il une meilleure solution que la vérification de chaque paire, qui aurait une complexité temporelle en O(N2)?

source d'informationauteur Drew Noakes