19
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

Algortimo DDA

Embed Size (px)

DESCRIPTION

Ejemplos utilizando taoframework, ejemplos de líneas.

Citation preview

Page 1: 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

Page 2: Algortimo DDA

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,...

Page 3: Algortimo DDA

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

Page 4: Algortimo DDA

¡) Instalación de TaoFramework

Page 5: Algortimo DDA
Page 6: Algortimo DDA
Page 7: Algortimo DDA
Page 8: Algortimo DDA
Page 9: Algortimo DDA

2) REALIZACIÓN DE TRAZO DE LÍNEAS

LÍNEA PUNTEDA

Page 10: Algortimo DDA
Page 11: Algortimo DDA
Page 12: Algortimo DDA
Page 13: Algortimo DDA
Page 14: Algortimo DDA
Page 15: Algortimo DDA

LÍNEA RECTA

Page 16: Algortimo DDA
Page 17: Algortimo DDA
Page 18: Algortimo DDA

LÍNEA DE MAYOR GROSOR

Page 19: Algortimo DDA