La regla par-impar (Even-Odd Rule) es un algoritmo implementado en software gráfico basado en vectores[1] como el lenguaje PostScript y los Gráficos Vectoriales Redimensionables (del inglés Scalable Vector Graphics) o SVG, que determina como se llena una forma gráfica con más de un contorno cerrado.
La especificación de SVG dice: "Esta regla determina la "Interioridad" de un punto sobre un lienzo mediante la elaboración de una Semi-recta desde ese punto hacia el infinito en cualquier dirección y contando el número de veces que atraviesa un segmento trazado.
Esta regla se puede ver, en efecto, en muchos programas gráficos vectoriales (como FreeHand o Illustrator), donde cruzar una línea en sí misma causa formas a llenar de extrañas maneras.
En una curva simple la regla par-impar se reduce a un algoritmo de decisión para el problema del punto en el polígono.
Debajo un ejemplo de una implementación básica en Python:[2] Debajo una implementación del algoritmo en Matlab: