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 lineas (aristas) y cuyo interior puede estar rellenado por un color
o patrón dado.
CASOS DE RELLENO SEGÚN SU COMPLEJIDAD
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.
MÉTODO
DE RELLENO DE POLÍGONOS CON COLOR
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.
LINEA
DE BARRIDO
Es valido para polígonos cóncavos como
convexos. Incluso para si el objeto tiene huecos interiores. Funcionan en el
trozo de líneas horizontales, denominadas líneas de barridos, que intersectan
un numero de veces, permitiendo a partir de ella identificar los
puntos que se consideran interiores al polígono.
INUNDACIÓN
Empieza
en un interior y pinta hasta encontrar la frontera del objeto.
Partimos
de un punto inicial (x,y), un colo 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.
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 novel 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).
EJEMPLO
DE SCAN-LINE
Encontrar
las intersecciones de los scanlines en el polígono. Almacenar las
intersecciones en alguna estructura de datos ET (edge table), de manera
ordena ascendiente en Y y en X en buckets. Rellenar los
spans usando la estructura. Usar algún criterio de paridad para saber
cuando un intervalo debe ser rellenado o no.
No hay comentarios.:
Publicar un comentario