algortimo dda

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

Upload: patricia-gonzalez

Post on 13-Mar-2016

285 views

Category:

Documents


5 download

DESCRIPTION

Ejemplos utilizando taoframework, ejemplos de líneas.

TRANSCRIPT

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