Download - Algortimo DDA
INSTITUTO TECNOLÓGICO SUPERIOR DE LIBRES
INGENIERÍA EN SISTEMAS COMPUTACIONALES
GRAFICACIÓN
ACTIVIDAD No. 3
DOCENTE:
DIANA M. GONZÁLEZ DELGADO
PRESENTA:
AMADOR TÉLLEZ GUSTAVO LEONEL
GONZÁLEZ SOTO PATRICIA AMELIA
HERNÁNDEZ COBA CRISTINA
LIBRES, PUEBLA, FEBRERO DE 2012.
Organismo Público Descentralizado del Gobierno del Estado de Puebla
1) ALGORITMO DDA (Analizador Diferencial Digital)
Algoritmo básico incremental (DDA: digital diferential analyzer):
Si |m| < 1 entonces se incrementan m pixels en y por cada
uno en x
Si |m| > 1 entonces se incrementan 1/m pixels en x por cada uno en y.
En Graficos por ordenador, una implementación de hardware o software de un Analizador
Diferencial Digital (DDA) se usa para la interpolación lineal de veriables sobre un intervalo
entre un punto de comienzo y un punto de fin. Los DDAs se usan para rastreo de lineas,
triangulos y polígonos. En la implementación mas simple del algoritmo DDA interpola
valores en intervalo [(xinicio, yinicio), (xfin, yfin)] por calculo para cada xi las equaciónes xi =
xi−1+1, yi = yi−1 + Δy/Δx, donde Δx = xfin − xinicio y Δy = yfin − yinicio.
*Algoritmo
Si m>=0 (pendiente positiva)
Si m<=1
de izquierda a derecha
* muestreo de x (Δx =1)
* yk+1 = redondeo(yk + m) k=1,2,...
de derecha a izquierda
* muestreo de x (Δx =-1)
* yk+1 = redondeo(yk - m) k=1,2,...
Si m > 1 (para evitar la aparición de agujeros)
de izquierda a derecha
* muestreo de y (Δy =1)
* xk+1 = redondeo(xk + 1/m) k=1,2,...
de derecha a izquierda
* muestreo de y (Δy =-1)
* xk+1 = redondeo(xk - m) k=1,2,...
Si m<0 (pendiente negativa)
Si |m|<1
de izquierda a derecha
* muestreo de x (Δx =1)
* yk+1 = redondeo(yk + m) k=1,2,...
de derecha a izquierda
* muestreo de x (Δx =-1)
* yk+1 = redondeo(yk - m) k=1,2,...
Si |m| > 1 (para evitar la aparición de agujeros)
de izquierda a derecha
* muestreo de y (Δy =1)
* xk+1 = redondeo(xk + 1/m) k=1,2,...
de derecha a izquierda
* muestreo de y (Δy =-1)
* xk+1 = redondeo(xk - m) k=1,2,...
El metodo DDA puede ser implementado usando aritmética de coma flotante o entero. La
implementación nativa en coma flotante requiere una suma y un redondeo para cada valor
interpolado (Ej. coordenada x, y, profundidad, componente de color etc.) y resultado de
salida. Este proceso es solo eficiente cuando una FPU con operaciones de suma y
redondeo rápido esta disponible.
La operación en coma fija entero requiere dos sumas para cada cliclo de salida, y en caso
de rebose de la parte fraccional, un incremento adicionar y sustraccion. La probabilidad de
que rebose la parte fraccional es proporcional al radio m de los valores inicio/fin
interpolados.
Los DDAs son muy usados para implementaciones hardware y pueden ser pipelined para
maximizar el rendimiento.
Fuentes de información:
http://www.nosolounix.com/2010/04/algoritmo-dda-dibujar-linea.html
http://maiki69.tripod.com/DDA.htm
www.google.com.mx/#sclient=psy-
ab&hl=es&source=hp&q=algoritmo+dda+&pbx=1&oq=algoritmo+dda+&aq=f&aqi=&aql=&g
s_sm=3&gs_upl=1823l2985l0l3689l9l9l0l0l0l8l411l2863l3-
7.1l8l0&bav=on.2,or.r_gc.r_pw.,cf.osb&fp=48118a6f6d20032c&biw=1076&bih=589
¡) Instalación de TaoFramework
2) REALIZACIÓN DE TRAZO DE LÍNEAS
LÍNEA PUNTEDA
LÍNEA RECTA
LÍNEA DE MAYOR GROSOR