La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

ALGORITMO DE CIRCUNFERENCIAS DISCRETIZACION. La ecuación de un círculo centrado en el origen es: x2 + y2 = R2 por lo cual, una primera aproximación para.

Presentaciones similares


Presentación del tema: "ALGORITMO DE CIRCUNFERENCIAS DISCRETIZACION. La ecuación de un círculo centrado en el origen es: x2 + y2 = R2 por lo cual, una primera aproximación para."— Transcripción de la presentación:

1 ALGORITMO DE CIRCUNFERENCIAS DISCRETIZACION

2 La ecuación de un círculo centrado en el origen es: x2 + y2 = R2 por lo cual, una primera aproximación para discretizar un círculo es resolver la ecuación y = ±(R2 - x2)1⁄2; ∀ x ∈ Z, x entre 0 y R 1 También se pueden usar las ecuaciones (R cos φ, R sen φ ) con φ creciendo desde 0° a 90°, con esto se reduce el espaciado, pero tampoco es tan eficiente, ya que usa aritmética de punto flotante y llamadas a funciones.

3 Aprovechamiento de la simetría Se puede aprovechar la simetría del círculo para sólo calcular uno de los 8 segmentos de 45o y luego con éste determinar los demás octantes. La siguiente figura y procedimiento resumen el proceso: void puntos_circulo (float x, float y, int valor) { escribir_pixel(x, y, valor); escribir_pixel(y, x, valor); escribir_pixel(y, -x, valor); escribir_pixel(x, -y, valor); escribir_pixel(-x, -y, valor); escribir_pixel(-y, -x, valor); escribir_pixel(-y, x, valor); escribir_pixel(-x, y, valor); }

4 Algoritmo de Círculo de Punto Medio Se considerará la discretización del segmento de círculo de 45o correspondiente a x = 0 hasta x = y = R/21⁄2, los demás puntos se pueden dibujar con la función puntos_circulo. Sean P, el pixel elegido previamente en (xp, yp); E y SE los píxeles candidatos.

5 La ecuación de una circunferencia es F(x, y) = x2 + y2 - R2 F(x, y) = 0,el punto (x, y) se encuentra en el círculo F(x, y) < 0,el punto (x, y) está dentro del círculo F(x, y) > 0,el punto (x, y) está fuera del círculo. Se define la variable de decisión P en el punto medio entre E y SE. Si P < 0 se escoge E y la variable de decisión P nueva será: Donde Y(k+1) es Y(k) o Y(k)-1 dependiendo del signo de p(k)

6 1.- Introducir el radio r y el centro del círculo (Xc, Yc) y luego establecer las coordenadas para el primer punto de la circunferencia de un círculo centrado en el origen mediante la fórmula: (Xc, Yc) = (0, R) 2.- Calcular el valor inicial del parámetro de desición como Po = 5/4 – R 3.- Para cada posición X(k), comenzando en k=0, realizar la siguiente comprobación. Si P(k) < 0El punto siguiente será ( X(k+1), Y(k) ) yP(k+1) = P(k) + 2X(k+1) + 1 en caso contrario el punto es ( X(k)+1, Y(k)-1 ) P(k+1) = P(k) + 2X(k+1) + 1 – 2Y(k+1)

7 donde 2X(k+1) = 2X(k) 2Y(k+1) = 2Y(k) - 2 4.- Determinar los puntos simétricos en los otros siete octantes. 5.- Mover cada posición de píxel (x, y) calculada hasta la trayectoria circular centrada en (Xc, Yc) y dibujar los valores de coordenadas: X = X + Xc, Y = Y + Yc 6.- Repetir los pasos 3 a 5 hasta que X >= Y


Descargar ppt "ALGORITMO DE CIRCUNFERENCIAS DISCRETIZACION. La ecuación de un círculo centrado en el origen es: x2 + y2 = R2 por lo cual, una primera aproximación para."

Presentaciones similares


Anuncios Google