Primitivas de Rellenado de Areas

Post on 06-Aug-2015

220 views 5 download

description

Algoritmo de Computación Grafica para Diseño Asistido por Computadora

Transcript of Primitivas de Rellenado de Areas

ASIGNATURA: DISEÑO ASISTIDO POR

COMPUTADORA

Universidad Nacional Jorge Basadre GrohmannEAP. INGENIERIA EN INFORMATICA Y SISTEMAS

WILSON CESAR CALLISAYA CHOQUECOTAWILSON CESAR CALLISAYA CHOQUECOTAWILSON CESAR CALLISAYA CHOQUECOTAWILSON CESAR CALLISAYA CHOQUECOTA

2

INTRODUCCIÓN

3

Métodos de Llenado de Áreas

Relleno por scan – line: Fila a fila va a trazando líneas de color entre aristas.

Relleno por inundación: A partir de un punto central, se va expandiendo recursivamente hasta alcanzar el borde del objeto

4

SCAN - LINE

Por cada scan-line que cruce el poligono se busca la intersección de la línea de barrido y las aristas del polígono.Dichas intersecciones se ordenan y se rellenan a pares.

5

SCAN - LINE

¿Y cuando un Scanline pasa por un vértice?

En la scan-line Y aparecerán 5 aristas intersectadas.

6

SCAN - LINE

La solución contarlo solo una vez.

La diferencia de Y y Y’ es que las aristas estan a un lado del poligono.

Problema que hariamos con Y’, solución contarlo 2 veces.

7

ACELERACIÓN DE SCAN - LINE

Para ello aprovecharemos la pendiente.

kk

kk

XX

yym

−−=

+

+

1

1

Como el Incremento de y es de 1entre cada scan-line

mXX kk

11 +=+

8

ALGORITMO OPTIMIZADO PARA EL RELLENO SCAN-LINE

Primero creamos una tabla de bordes (TB) para todas las aristas del poligono (exceptuando las horizontales)

Cada arista viene representadaa por cuatro valores- Coordenada Y del punto más alto- Coordenada X del punto más bajo- Inversa de la pendiente- Puntero a otra arista en la misma scan-line

9

ALGORITMO OPTIMIZADO PARA EL RELLENO SCAN-LINE

10

CONSIDERACIONES EN TORNO A LOS VERTICES

11

ALGORITMO OPTIMIZADO PARA EL RELLENO SCAN-LINE

Comenzamos desde abajo, y vamos creando una lista de bordes activos (LBA), que contendrán en cada iteración las aristas cruzadas por dicha scan-line.

12

EJEMPLO

13

EJEMPLO

14

EJEMPLO

15

RELLENO POR INUNDACIÓN

Empieza en un punto interior y pinta hasta encontrar la frontera del objeto.Partimos de un punto inicial (x,y), un color de relleno y un color de fronteraEl algoritmo va testeando los pixeles vecinos a los ya pintados, viendo si son frontera o no.No sólo sirven para polígonos sino para cualquier área curva sobre una imagen.Se usan en los programas de dibujo.

16

ALGORITMO DE RELLENO POR INUNDACIÓN

Hay dos formas de considerar los vecinos: 4 u 8.Dependiendo de qué esquema elijamos, el relleno será diferente.

17

ALGORITMO DE RELLENO POR INUNDACIÓN

El algoritmo anterior requiere mucha memoria, la solución para ello seria en no explorar todos los vecinos de cada pixel sino solo a lo largo de un scan-line