Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Los primitivos de salida a estudiar ofrecen las herramientas básicas para crear
imágenes con líneas rectas, curvas, áreas llenas, patrones de matriz de celdas y texto.
Los puntos y segmentos de línea recta son los componentes geométricos más
simples de las imágenes.
Los primitivos de salida adicionales que se pueden utilizar para crear una imagen
incluyen circunferencias y otras secciones cónicas, superficies cuadráticas, curvas y
superficies de “spline”, áreas de color de polígonos y cadenas de caracteres.
Puntos y Líneas
1
La aproximación provoca un despliegue escalonado que mejora al incrementar la
resolución: ajuste de las intensidades de píxel a lo largo de las trayectorias de línea. Lo
cual se muestra en la figura de la izquierda.
Pixeles
1 2 3 4
Convención de Origen:
Esquina Inferior Izquierda
(Coordenadas Normales)
Y Y
(X2, Y2) Línea de Pendiente m>1
Negativa: m=1
Y2
m+
(X1, Y1)
Y1
Posiciones m- m<1
de Muestreo
X X
X1 X2
2
Algoritmo DDA para Trazo de Líneas
Xk+1 = Xk + 1/m
Yk+1 = Yk + m
DeltaX = -1 Yk+1 = Yk – m
3
ALGORITMO:
1. Acepta como entrada las dos posiciones de píxel de los extremos. Dadas por
las coordinas (Xi, Yi) y (Xf, Yf).
PSEUDOCODIGO:
4
La principal desventaja del algoritmo DDA es el redondeo, produciendo
posiciones calculadas de píxeles a iluminar que se desvian de la trayectoria real de la
línea.
Trazar la línea de extremos (20, 10) y (30, 18), utilizando el Algoritmo DDA.
X Y Y Real k
20 10
21 11 10.8 1
22 12 11.6 2
23 12 12.4 3
24 13 13.2 4
25 14 14.0 5
26 15 14.8 6
27 16 15.6 7
28 16 16.4 8
29 17 17.2 9
30 18 18.0 10
5
Y
18
17
16
15
14
13
12
11
10
X
20 21 22 23 24 25 26 27 28 29 30
18
17
16
15
14
13
12
11
10
X
20 21 22 23 24 25 26 27 28 29 30
6
Algoritmo Bresenham para Trazo de Líneas
Trayectoria Trayectoria
Real de la Real de la
Línea Línea
-Y -Y
13 d1 13 d1
m+ m-
12 12
11 d2 11 d2
10 10
X X
10 11 12 13 10 11 12 13
Inicio (Xk, Yk) = (10, 11) Inicio (Xk, Yk) = (10, 12)
Siguiente? Siguiente?
(Xk+1, Yk) = (11, 11) d2 (Xk+1, Yk) = (11, 12) d1
(Xk+1, Yk+1) = (11, 12) d1 (Xk+1, Yk-1) = (11, 11) d2
ALGORITMO (/m/<1) :
1. Acepta como entrada las dos posiciones de píxel de los extremos. Dadas por
las coordinas (Xi, Yi) y (Xf, Yf). Se almacena el extremo izquierdo en (Xo, Yo).
2. Se ilumina (Xo, Yo).
3. Se calculan las constantes dx , dy , 2dy , 2dy – 2dx y se obtiene el valor inicial
para el parámetro de decisión como Po = 2dy – dx.
4. En cada Xk a lo largo de la línea, que inicia en k=0, se efectúa la prueba
siguiente: Si Pk < 0, el siguiente punto es (X k+1, Yk) y Pk+1 = Pk + 2dy. Sino, el
siguiente punto es (Xk+1, Yk+1) y Pk+1 = Pk + 2dy – 2dx.
7
PSEUDOCODIGO:
Trazar la línea de extremos (20, 10) y (30, 18), utilizando el Algoritmo Bresenham
8
X Y P
20 10 6
21 11 2
22 12 -2
23 12 14
24 13 10
25 14 6
26 15 2
27 16 -2
28 16 14
29 17 10
30 18 6
18
17
16
15
14
13
12
11
10
X
20 21 22 23 24 25 26 27 28 29 30