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
lunes, 14 de mayo de 2007
Suscribirse a:
Comentarios de la entrada (Atom)
No hay comentarios.:
Publicar un comentario