Documentos de Académico
Documentos de Profesional
Documentos de Cultura
y1 y0
x1 x0
Valores de la tabla:
X = X +1 (En cada nueva fila va aumentando en un (1) valor).
Yk+1 = Y + m (En cada nueva fila va aumentado al sumarle en valor de m, es decir, de la
pendiente) .
Y = Redondear ( Yk+1 ). Se redondea el valor de Yk+1 y se usa ese valor para la posicin en Y.
Ejemplo #1:
Discretizar la lnea (1,1) hasta (6,3)
X
1
2
3
4
5
6
Yk+1
1
1.4
1.8
2.2
2.6
3.0
Y
1
1
2
2
3
3
2. Algoritmo Bresenham:
Valores iniciales:
x = x1 - x0
y = y1 - y0
P0 = 2y - x
Caso especial:
Si el valor de x < y, entonces se intercambian los valores de x y y, es decir:
X = Y y Y = X , solamente para hacer los clculos se hace esto, ya que al final, despus de
calcular todos los valores de la tabla, se deben intercambiar las coordenadas x y y.
Valores de la tabla:
K = X +1 (En cada nueva fila va aumentando en un (1) valor, inicialmente vale 0).
Pk+1 = Inicialmente, equivale al valor de P0, y luego se evalua su resultado y calcula un nuevo
valor para Pk+1, as:
Si Pk+1 > 0 Entonces +
Pk+1 = Pk + 2y 2x
La coordenada queda as: (X++, Y++). X y Y aumentan un valor.
Si Pk+1 < 0 Entonces Pk+1 = Pk + 2y
La coordenada queda as: (X++, Y). X aumentan un valor y Y se mantiene igual.
Ejemplo #1:
Discretizar la lnea (1,1) hasta (6,3)
K
0
1
2
3
4
Pk+1
-1
3
-3
1
-5
(Xk+1, Yk+1)
(2,1)
(3,2)
(4,2)
(5,3)
(6,3)
DISCRETIZACIN DE CIRCUNFERENCIAS
1. Algoritmo del Punto Medio:
Valores iniciales:
Si el Radio es un valor decimal o fraccionario:
P0 = 1.25 - Radio
Si el Radio es un valor entero:
P0 = 1 - Radio
Valores de la tabla:
K = En cada nueva fila va aumentando en un (1) valor, inicialmente vale 0.
Y = Radio
Pk+1 = Inicialmente, equivale al valor de P0, y luego se evala su resultado y calcula un nuevo
valor para Pk+1, as:
Si Pk+1 > 0 Entonces
Pk+1 = Pk + 2xk 2yk + 5
La coordenada queda as: (X++, Y--). X aumenta y Y disminuye.
Si Pk+1 < 0 Entonces
Pk+1 = Pk + 2xk + 3
La coordenada queda as: (X++, Y). X aumentan un valor y Y se mantiene igual.
Los clculos terminan cuando X y Y son iguales. Luego por simetra, se calculan los otros 7
octantes de la circunferencia.
Caso Especial:
Si la posicin inicial del centro de la circunferencia es diferente a (0 , 0), se le debe sumar a cada
valor de las coordenadas X y Y de la tabla el valor de la posicin inicial.
Pk+1
-9
-6
-1
6
-3
8
5
(Xk+1, Yk+1)
(1,10)
(2,10)
(3,10)
(4,9)
(5,9)
(6,8)
(7,7)
DISCRETIZACIN DE ELIPSES
1. Algoritmo del Punto Medio:
Regin #1:
Valores iniciales:
Calcular el valor inicial de P10, para la regin #1:
P10 = r2y r2x(ry) + (r2x)
Valores de la tabla:
K = En cada nueva fila va aumentando en un (1) valor, inicialmente vale 0.
P1k+1 = Inicialmente, equivale al valor de P10, y luego se evala su resultado y calcula un nuevo
valor para P1k+1, as:
Si P1k+1 > 0 Entonces
P1k+1 = P1k + 2r2y(xk+1) - 2r2x(yk+1) + r2y
La coordenada queda as: (X++, Y--). X y Y aumentan un valor.
Si P1k+1 < 0 Entonces
P1k+1 = P1k + 2r2y(xk+1) + r2y
La coordenada queda as: (X++, Y). X aumentan un valor y Y mantiene su valor.
Valores adicionales:
2r2y(xk+1)
2r2x(yk+1)
Los clculos terminan cuando 2r2y(xk+1) es mayor que 2r2x(yk+1) .Luego se prosigue con el
calculo de la regin #2 de la elipse.
Caso Especial:
Si la posicin inicial del centro de la elipse es diferente a (0 , 0), se le debe sumar a cada valor de
las coordenadas X y Y de la tabla el valor de la posicin inicial.
Regin #2:
Valores iniciales:
Se calcula el valor inicial de P20, para la regin #2, utilizando la ltima coordenada en la regin
#1, as:
P20 = r2y(x0 + )2 + r2x(y0 - 1)2 - r2x(r2y)
Nota: Si el valor resultante de P20 es decimal, se debe redondear su valor a un entero.
Valores de la tabla:
K = En cada nueva fila va aumentando en un (1) valor, inicialmente vale 0.
P2k+1 = Inicialmente, equivale al valor de P20, y luego se evala su resultado y calcula un nuevo
valor para P2k+1, as:
Si P2k+1 > 0 Entonces
P2k+1 = P2k + 2r2x(yk+1) + r2x
La coordenada queda as: (X, Y--). X se mantiene igual y Y disminuye.
Si P2k+1 < 0 Entonces
P2k+1 = P2k + 2r2y(xk+1) - 2r2x(yk+1) + r2x
La coordenada queda as: (X++, Y--). X aumentan un valor y Y disminuye su valor.
Los clculos terminan cuando Y = 0.
Caso Especial:
Si la posicin inicial del centro de la elipse es diferente a (0 , 0), se le debe sumar a cada valor de
las coordenadas X y Y de la tabla el valor de la posicin inicial.
Calcular el II, III y IV Cuadrante:
II Cuadrante: Se cambian todos los valores de X a negativos, se usan los mismos valores
del primer cuadrante calculado.
III Cuadrante: Se cambian todos los valores de X y Y a negativos, y se intercambian las
filas de Y a X y viceversa, usando los valores del primer cuadrante calculado.
IV Cuadrante: Se intercambian las filas de Y a X y viceversa, usando los valores del primer
cuadrante calculado.
Ejemplo #1:
Discretizar la elipse con Rx = 8, Ry = 15, con el centro en = (10 ,12)
Valores para la Regin #1:
K
0
1
2
3
P1k+1
-719
-44
1081
864
(Xk+1, Yk+1)
1,15
2,15
3,14
4,13
2r2y(xk+1)
450
900
1350
1800
2r2x(yk+1)
1920
1920
1792
1664
P2k+1
-628
150
-1194
290
-798
1392
560
-144
2880
2432
2112
1920
1856
(Xk+1, Yk+1)
5, 12
5, 11
6, 10
6, 9
7, 8
7, 7
7, 6
8, 5
8, 4
8, 3
8, 2
8, 1
8, 0