stringtranslate.com

Regla distinta de cero

Una curva (arriba) se rellena de acuerdo con dos reglas: la regla par-impar (izquierda) y la regla de bobinado distinto de cero (derecha). En cada caso, una flecha muestra un rayo desde un punto P que sale de la curva. En el caso par-impar, el rayo es intersecado por dos rectas, un número par; por lo tanto, se concluye que P está "fuera" de la curva. Según la regla de devanado distinto de cero, el rayo se cruza en el sentido de las agujas del reloj dos veces, cada una de las cuales contribuye -1 a la puntuación de devanado: debido a que el total, -2, no es cero, se concluye que P está "dentro" de la curva.

En gráficos por computadora bidimensionales , la regla de devanado distinta de cero es un medio para determinar si un punto dado cae dentro de una curva cerrada. A diferencia de la regla similar par-impar , se basa en conocer la dirección del trazo para cada parte de la curva.

Para una curva dada C y un punto P dado: construya un rayo (una línea recta) que salga de P en cualquier dirección hacia el infinito. Encuentra todas las intersecciones de C con este rayo. Calcule el número de devanado de la siguiente manera: por cada intersección en el sentido de las agujas del reloj (la curva que pasa por el rayo de izquierda a derecha, vista desde P), reste 1; para cada intersección en sentido antihorario (curva que pasa de derecha a izquierda, vista desde P) agregue 1. Si el número total de devanados es cero, P está fuera de C; de lo contrario, está dentro.

El número de devanados es efectivamente un recuento de cuántas revoluciones completas en sentido contrario a las agujas del reloj ('devanados') hace la curva alrededor de P sin doblarse sobre sí misma. (Si P fuera un clavo y C fuera un trozo de cuerda enrollada, intente tirar de una parte de la cuerda hacia un lado, alejándola del clavo: o se soltará o se encontrará enrollada varias veces alrededor del clavo. )

En cambio, algunas implementaciones aumentan el número de revoluciones en el sentido de las agujas del reloj, de modo que los cruces en el sentido de las agujas del reloj reciben +1 y los cruces en el sentido contrario, -1. El resultado es el mismo.

Una definición formal del número de devanados del punto P con respecto a la curva C (donde P no se encuentra en la curva) es la siguiente:

Considere un punto Q que viaja una vez alrededor de C. El punto final de un vector de P a Q, después de la normalización, viaja a lo largo del círculo unitario centrado en P. Si imaginamos la trayectoria de este punto final como una banda elástica y dejamos que la banda se contraiga , terminará enrollado alrededor del círculo varias veces. El número de vueltas es el número de vueltas (para vueltas en el sentido de las agujas del reloj, el número de vueltas es negativo). [1]

El estándar vectorial de gráficos por computadora SVG utiliza la regla distinta de cero de forma predeterminada al dibujar polígonos. [2]

Ver también

Referencias

  1. ^ James D. Foley, Andries Van Dam, Steven K. Feiner y John F. Hughes (1996) Gráficos por computadora: principios y práctica p. 965. Addison-Wesley. ISBN  9780201848403
  2. ^ [1], w3c.org, consultado el 28 de marzo de 2019

enlaces externos