lunes, 14 de mayo de 2007

Tarea 8

Pseudocódigo para relleno de polígonos por barrido.

El llenado de polígonos por línea de barrido es un método relativamente fácil para rellenar un polígono.

Básicamente, el método consiste en :

Recorrer las líneas de barrido desde y=0 hasta y=YMAX (donde YMAX es la máxima coordenada y que se puede encontrar en la pantalla, 480)

Determinar las intersecciones de la línea de barrido con las aristas del polígono, variando x desde 0 hasta XMAX(640).

Para ello se utiliza una función que indica si el pixel actual está iluminado o no con el color de la frontera.

Llamemos bitpantalla a esta función :

La intersección del lado izquierdo del polígono se etiqueta como xinicio y xfin representa al intersección con el lado derecho. Luego se traza una línea linea(xinicio, y, xfin, y, color)

Recorrer las líneas de barrido desde y=0 hasta y=YMAX (donde YMAX es la máxima coordenada y que se puede encontrar en la pantalla.

Determinar las intersecciones de la línea de barrido con las aristas del polígono, variando x desde 0 hasta XMAX. Para ello se utiliza una función que indica si el pixel actual está iluminado o no con el color de la frontera.

Llamemos bitpantalla a esta función:

int bitpantalla (int x, int y)
{
return getpixel(x, y);
}

La intersección del lado izquierdo del polígono se etiqueta como xinicio y xfin representa al intersección con el lado derecho. Luego se traza una línea

linea(xinicio, y, xfin, y, color)

Algoritmo:

Para cada línea de barrido (y=0,..., YMAX) hacer

1. inicializar x=0
2. mientras (bitpantalla <> color de frontera)
x=x+1
3. xinicio=x
4. mientras (bitpantalla <> color de frontera)
x=x+1
5. xfin=x
6. linea (xinicio, y, xfin, y, color)



Fuente de Consulta para la tarea:
http://www.inf.unitru.edu.pe/~vncc/documentos/clases/cg1-u31.pdf

No hay comentarios.: