Ejercicios de Gráficos Relleno de Pol´ıgonos

Anuncio
Ejercicios de Gráficos
Relleno de Polı́gonos
Pedro Pascual
March 8, 2010
1. Indicar cuáles de las siguientes afirmaciones son verdaderas (V) y cúales son falsas (F):
1. El algoritmo scan line polygon fill mantiene una lista de las aristas del polı́gono ordenada
según el valor de ymax de cada arista
2. El algoritmo scan line polygon fill mantiene un puntero a la primera arista que no corta al
scan actual
3. El algoritmo scan line polygon fill asume que hay un número par de intersecciones entre las
aristas del polı́gono y el scan actual
4. En el algoritmo scan line polygon fill hay que reordenar las aristas según su ymin para cada
scan, después de reordenar las aristas según la x de intersección con el scan y pintar los pı́xeles
correspondientes
5. En el algoritmo scan line polygon fill es necesario reordenar las aristas que cortan un scan
según su x de intersección con el scan, antes de proceder al pintado de los pı́xeles
6. Antes de comenzar el algoritmo scan line polygon fill, se descartan las aristas horizontales o
que se encuentran entre dos scans consecutivos
Solución: 1-F 2-V 3-V 4-F
5-V 6-V
2. Aplicar el algoritmo de relleno de polı́gonos a las siguientes figuras, con condiciones de entrada y
salida ymin < s e ymax < s respectivamente.
b)
a)
Nota: En el caso b) hay dos polı́gonos, y se ha de aplicar dos veces el algoritmo.
1
March 8, 2010, Ejercicios de Gráficos-Relleno de Polı́gonos
2
3. Repetir el ejercicio anterior para las siguientes condiciones de entrada y salida:
a) ymin ≤ s e ymax < s
b) ymin ≤ s e ymax ≤ s
c) ymin < s e ymax ≤ s
4. En el algoritmo de relleno de polı́gonos, ¿qué sucede en los siguientes casos?:
a) ymin es un número entero.
b) ymax es un número entero.
c) ymin e ymax son distintos, pero tienen la misma parte entera.
d) ymin e ymax son iguales, pero distintos de su parte entera.
e) ymin e ymax son números enteros iguales.
5. Sea el polı́gono con vértices A = (10.5, 20.5), B = (30, 40) y C = (10.5, 59.5). Aplicar el algoritmo
de relleno de polı́gonos con condiciones de entrada y salida ymin < s e ymax < s:
a) Calcular para cada arista ymin , ymax , dx y el valor inicial de xint .
b) Calcular smin y smax .
c) Indicar cómo va progresando el algoritmo, con los cambios que hay en la lista de aristas y el
puntero pout . No es preciso dar el valor de xint en cada scan, y basta indicar el rango de lı́neas
en que la situación no cambia.
Solución:
arista ymin
AB
20.5
BC
40
CA
20.5
ymax
40
59.5
59.5
dx
1
-1
0
xint
10
30
10.5
smin = 21, smax = 59
scan
inicial
21
22
23
...
39
40
41
42
...
59
lista
AB,CA,BC
CA,AB,BC
CA,AB,BC
CA,AB,BC
...
CA,AB,BC
CA,AB,BC
CA,BC
CA,BC
...
CA,BC
xint
pintado
10.5,11
10.5,12
10.5,13
...
10.5,29
10.5,30
10.5,29
10.5,28
...
10.5,11
11-11
11-12
11-13
...
11-29
11-30
11-29
11-28
...
11-11
Repetir el ejercicio para condiciones de entrada y salida ymin ≤ s e ymax ≤ s.
Descargar