Sei sulla pagina 1di 10

Relleno de polígonos

Unidad 4 Graficacion
Ordaz Lopez Carlos Daniel (Skinny)
¿Que es un polígono?
• Es una figura cerrada y plana limitada por un mínimo de tres segmentos rectilíneos, formando una línea
poligonal que denominamos contorno del polígono. Los polígonos con los lados y ángulos iguales se llaman
regulares y pueden inscribirse o circunscribirse en una circunferencia.
• Polígono es una figura básica dentro de las representaciones y tratamiento de imágenes bidimensionales y su
utilización es muy interesante para modelar objetos del mundo real.
• En un sentido amplio, se define como una región del espacio delimitada por un conjunto de líneas (aristas)
y cuyo interior puede estar rellenado por un color o patrón dado.
• El caso mas sencillo de relleno es el triangulo.
• Luego sigue el relleno de polígonos convexos de N-lados.
• Relleno de polígonos cóncavos
Tipos de Relleno de un polígono
• MÉTODO DE RELLENO DE POLÍGONOS CON COLOR.

• SCAN-LINE

• INUNDACIÓN

• FUERZA BRUTA

• PATRÓN
Scan-line
• Fila a fila van trazando lineas de color entre aristas.

• para scan-line que cruce el polígono se busca en la intersección entre las lineas de barrido y las aristas
del polígono. Dichas intersecciones se ordenan y se rellenan a pares.

• La principal ventaja de este método es que la clasificación de los vértices a lo largo de la normalidad del plano
de exploración reduce el número de comparaciones entre bordes. Otra ventaja es que no es necesario
traducir las coordenadas de todos los vértices de la memoria principal a la memoria de trabajo; solo los
vértices que definen los bordes que se intersecan con la línea de escaneo actual deben estar en la memoria
activa, y cada vértice se lee solo una vez.
INUNDACIÓN
• Empieza en un interior y pinta hasta encontrar la frontera del objeto.
• Partimos de un punto inicial (x,y), un color de relleno y un color de frontera.
• El algoritmo va testeando los píxeles vecinos a los ya pintados, viendo si son frontera o no.
• No solo sirven para polígonos, sino para cualquier área curva para cualquier imagen AE se usan los
programas de dibujo.
Algoritmo de relleno por inundación
• Hay dos formas de considerar los vecinos: 4 u 8

• Dependiendo de que esquema elijamos, el relleno será diferente.

• El algoritmo se presta a un esquema recursivo muy simple

• El algoritmo anterior necesita mucha memoria, y si


el área a rellenar es muy grande se desborda la pila

• ¿Cómo podemos ahorrar memoria para poder


rellenar áreas de cualquier tamaño?

• La solución consiste en no explorar todos los


vecinos de cada pixel, sino sólo a lo largo de un
scan-line

• Rellenamos el span donde se encuentra el punto


Inicial

• Además, guardamos las posiciones iniciales de todos


los spans de las líneas horizontales contiguas al
scan-line
FUERZA BRUTA

• Calcula una caja contenedora del objeto.

• Hace un barrido interno de la caja para comprobar c/pixel este dentro del polígono.

• Con polígonos simétricos basta con que hagamos un solo barrido en una sección y replicar los demás pixeles.

• Requiere aritmética punto-flotante, esto lo hace preciso y costoso.


RELLENO MEDIANTE UN PATRÓN
Un patrón viene definido por el área rectangular en el que cada punto tiene determinado color o nivel de gris. Este patrón
debe repetirse de modo periódico dentro de la región a rellenar. Para ello debemos establecer una relación entre los puntos
del patrón y los pixeles de la figura. En definitiva debemos determinar la situación inicial del patrón respecto a la figura de tal
forma que podamos establecer una correspondencia entre los pixeles interiores al polígono y los puntos del patrón.

 ALTERNATIVAS PARA LA SITUACIÓN INICIAL DEL PATRÓN....

• Consiste en situar el punto asociado a la esquina superior izquierda del patrón en un vértice del polígono.
Considerar la región a rellenar en toda la pantalla y por lo tanto el patrón se citua en el origen de esta (esquina superior
izquierda).
Algoritmo para recorrer las aristas de un polígono
• Primera parte del algoritmo: encontrar las intersecciones de cada línea horizontal con las
• aristas del polígono.
• Cada arista del polígono va de un pixel (xbajo, ybajo) a un pixel (xalto,yalto),
• Variar la coordenada y de ybajo a yalto obteniendo la relación siguiente:

Considerar una variable entera incremento, tal que incremento/b represente la parte

fraccionaria de xi.

La variable incremento será aumentada por el valor de a en cada iteración pero dibujamos

un pixel cuya abcisa es un valor redondeado de xi.


Conclusión
• Para concluir un polígono es una figura plana compuesta por una secuencia finita de segmentos rectos
consecutivos que cierran una región en el plano. Estos segmentos son llamados lados, y los puntos en que se
intersecan se llaman vértices. Y existen diferentes formas de rellenarlos de color.

• Podría darse de muchas de maneras el relleno de polígonos pero en casos especiales podríamos utilizar estos
algoritmos para rellenar el polígono.

• Hoy en día las técnicas mas usadas para el relleno de polígonos es los ya mencionados son mas efectivos y
mas versátiles con mucha optimización en el algoritmo y creación.

Potrebbero piacerti anche