Imagine que tiene un polígono 2D (un 2D closed polygonal chain para ser más preciso). ¿Cómo se comprueba si contiene autointersecciones? Puede ser convexo o cóncavo, orientarse en sentido horario o antihorario.¿Cómo detectar si un polígono tiene autointersecciones?
Ahora, podría ejecutar un algoritmo estándar O(N log N)
para verificar si se cruzan dos segmentos. Pero creo que debido a que tenemos alguna estructura adicional, el orden de los segmentos y el hecho de que cada dos segmentos consecutivos se encuentran en los puntos finales, podría idearse un algoritmo más simple y más rápido (¿quizás O(N)
?).
¿Alguna idea?