algortimo dda

Post on 13-Mar-2016

286 Views

Category:

Documents

5 Downloads

Preview:

Click to see full reader

DESCRIPTION

Ejemplos utilizando taoframework, ejemplos de líneas.

TRANSCRIPT

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

top related