jueves, 29 de mayo de 2014

4.1 Relleno de polígonos

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