Professional Documents
Culture Documents
Programa de
Modelo de Aplicacin
Aplicacin
Control de Ventanas CopyPixel Control de dispositivo de entrada Medidas de disposit. de entrada Ducto de entrada
Biblioteca Grfica
Atributos de salida
Atributos
Mdulos de discretizacin
Memoria Grfica
Display
Biblioteca Grfica
Primitivas
Controlador
Memoria Grfica
Display
Hardware de pantalla
Discretizacin de lneas
Discretizacin de lneas
Problemas?
(xi,yi)
(xi,Round(yi))
Discretizacin de lneas
(xi+1,yi +m)
(xi,Round(yi))
Discretizacin de lneas
P=(xp,yp)
Opciones Opciones Pxel para Pxel para Pxel anterior actual siguiente
Discretizacin de lneas
y=(dy/dx)x + B
Se transforma en otra implcita:
F(x,y)= ax + by + c = dy x dx y + B dx = 0
Donde:
a=dy ; b=-dx ; c= B dx
Discretizacin de lneas
F(x,y)=0 en la lnea F(x,y)>0 en los puntos debajo de la lnea P=(xp,yp) F(x,y)<0 en los puntos sobre la lnea
Pxel anterior
M E
Discretizacin de lneas
NE Q M
E
Opciones para Pxel actual Opciones para Pxel siguiente
Discretizacin de lneas
P=(xp,yp)
Pxel anterior
Si se eligi el pxel NE, cul es el valor dnuevo? dnuevo = a(xp + 2) + b(yp + 3/2) + c
Discretizacin de lneas
Discretizacin de lneas
Discretizacin de circunferencias
Discretizacin de circunferencias Ecuacin del crculo centrado en el origen: X2 + y2 = R2 Funcin explcita: y=sqrt(R2-x2) y al discretizar queda: y=round(sqrt(R2-x2)) Problemas?
Discretizacin de Circunferencias
Precisa utilizar raz cuadrada y redondeo Uso de punto flotante Dibujo de la circunferencia con huecos
Discretizacin de Circunferencias
Simetra de 8 lados
Discretizacin de Circunferencias
ME
>0
SE MSE
=0
<0
Discretizacin de Circunferencias
Discretizacin de Circunferencias
Discretizacin de Circunferencias
Discretizacin de Circunferencias
Rellenado de polgonos
Lnea de rastreo
Rellenado de polgonos
Rellenado de polgonos
1. Hallar las intersecciones de la lnea de rastreo con todas las aristas del polgono Ordenar las intersecciones aumentando la coordenada x Colocar todos los pxeles entre pares de intersecciones que se encuentren dentro del polgono, utilizando la regla de paridad impar: La paridad es inicialmente par y cada interseccin cambia la paridad; solo se dibuja cuando la paridad es impar.
2. 3.
Rellenado de polgonos
Rellenado de polgonos
Solucin:
Si nos movemos hacia la derecha a una interseccin fraccionaria, y estamos dentro del polgono, redondeamos hacia abajo en la coordenada x de la interseccin (definiendo el pxel interior). Si estamos fuera, redondeamos hacia arriba la coordenada x (definiendo tambin un pxel interior).
Rellenado de polgonos
Solucin:
Si el pxel del extremo izquierdo de un tramo tiene coordenada x entera, lo definimos como interior. Si el pxel de extremo derecho tiene coordenada x entera, lo definimos como exterior.
Rellenado de polgonos
Solucin:
En el clculo de paridad, contamos solo los vrtices ymin de las aristas y no los vrtices ymax.
Rellenado de polgonos
Solucin:
No se cuentan los vrtices de las aristas horizontales. No son ni ymin ni ymax.
Rellenado de polgonos
Astillas
Cuando hay polgonos con aristas tan cercanas que crean una astilla. Pueden haber lneas de rastreo sin pintar. Se puede solucionar si en lugar de 2 valores posibles para el pxel, se permiten valores de intensidad que varen como funcin de la distancia entre el centro del pxel y la primitiva.
0001
0000
0010
0101
0100
0110
E & F = 0001 & 1001 = 0001 C & D = 0000 & 1000 = 0000
0010 J
A & B = 0000 & 0000 = 0000 G & H = 0100 & 0010 = 0000
J I 0110
Se asigna un nmero a cada extremo de un segmento y se le aplica la operacin lgica AND (bit a bit). Si da 0000 se rechaza la lnea trivialmente
0001
Si no se puede rechazar trivialmente la lnea, se la divide en 2 segmentos / uno o ambos se puedan descartar.
Se divide considerando las aristas que crucen la lnea. Eso se conoce a travs de los cdigos de los puntos extremos. El orden de las aristas es arriba, abajo, derecha, izquierda.
Si no se puede rechazar trivialmente la lnea, se la divide en 2 segmentos / uno o ambos se puedan descartar. AD DB y BA Ignoramos DB y a B le asignamos 0000
IE IH y HE. Ignoramos IH. H 0010 HE HF y FE. Ignoramos FE. F 0000 HF HG y GF. Ignoramos HG. G 0000
Recorte de Polgonos
Recorte de Polgonos
Algoritmo de Sutherland-Hodgman
Recorte de Polgonos
Algoritmo de Sutherland-Hodgman
El polgono se compone de una serie de vrtices v1, v2, ..., vn Las aristas se forman de vi a vi+1 y de vn a v1 El algoritmo recorta el polgono con respecto a una sola arista de la ventana por vez. El algoritmo recorre el polgono arista por arista. En cada paso se aaden cero, uno o dos vrtices a la lista de salida. i: primera Hay 4 casos posibles a analizar: salida
Exterior Interior Exterior Interior Exterior p p: segunda s p: salida i: salida (no hay salidas) p s
salida
Interior s
Interior
Exterior s
Recorte de Polgonos
Algoritmo de Sutherland-Hodgman
1. 2. 3. 4. La arista est completamente dentro de las fronteras de recorte se agrega el vrtice p a la lista de salida. Se agrega el punto de interseccin i con la frontera se agrega a la lista de salida. Ambos vrtices se hallan fuera de las fronteras, por lo que no hay salida. El punto de interseccin i y el vrtice p se aaden a la lista de salida.
i: primera
salida
Interior s
Exterior
Interior
Exterior
Interior
Exterior p
Interior
Exterior s
ANTIALIASING
ANTIALIASING
Pxel
4 3 2 1 0 0 1 2 3 4 5 6 7 8 9 10
La lnea se considera como un rectngulo de color que cubre una porcin de la malla. Los pxeles se los consideran como un embaldosado de azulejos. Por columna no hay en general un solo pxel pintado.
ANTIALIASING
Segn el porcentaje del pxel cubierto por la lnea, es el porcentaje del color negro.
ANTIALIASING
Lnea deseada
El cubo tiene volumen = 1 Segn el volumen Ws, es la tonalidad de gris del pxel.
ANTIALIASING
reas iguales, a distinta distancia del centro del pxel, se consideran de igual forma en rea no ponderada, y de distinta forma en rea ponderada
ANTIALIASING
Solucin 3: Muestreo de rea ponderada No ponderada versus ponderada rea no ponderada: La intensidad del pxel se define exclusivamente por el rea muestreada.
rea ponderada: La intensidad del pxel est en funcin del rea y de la distancia de la misma al centro del pxel.
ANTIALIASING
Regin de superposicin
Lnea deseada
Segn el porcentaje del pxel cubierto por la lnea, es el porcentaje del color negro.