Área del polígono de auto-intersección.

Calculando el área de unsimple irregular polígonoes trivial. Sin embargo, considere el polígono de intersección ABCDEF que se muestra a la izquierda a continuación:

                   

Si usamos la fórmula enlazada a arriba que atraviesa los puntos en el orden del polígono, obtenemos un área de 0. (El área 'en el sentido de las agujas del reloj' cancela el área 'en sentido contrario a las agujas del reloj').

Sin embargo, si nosotrosordenar los puntos radialmente alrededor de un centro y al calcular el área, obtenemos el área incorrecta del polígono ABEDCF en la parte superior derecha.

¿Cómo puedo encontrar mejor el área visible de un polígono de auto-intersección? (Si la respuesta requiere la creación de puntos fantasma para cada intersección, proporcione detalles sobre cómo encontrar las intersecciones y cómo recorrerlas en el orden correcto).

Esta pregunta surgió cuando se investigaron casos de borde para mi solución aesta pregunta.

Definiendo el area

Defino el 'área' como la cantidad de píxeles visibles al rellenar el polígono utilizando las reglas "no cero" o "evenodd". Aceptaré una respuesta para cualquiera de estos, aunque ambos serían mejores. Tenga en cuenta que hago explícitamenteno Defina el área de auto-superposición para contar el área de superposición dos veces.

Respuestas a la pregunta(3)

Su respuesta a la pregunta