martes, 28 de febrero de 2012

PRESENTACION

Transformaciones geométricas basicas en los sistemas de graficación



Gráficas por computadora (Computer Graphics)

Estudia los procedimientos para producir despliegues visuales en dispositivos de salida como el monitor de una computadora.



Una transformación geométrica puede aplicarse a figuras planas (2D) o a objetos en el espacio (3D).

Si los puntos que se alteran tienen coordenadas de dos componentes (x,y), la transformación es en 2D.

Y si alteran puntos con coordenadas (x,y,z), la transformación es en 3D.



Transformaciones geométricas básicas en 2D son:

  • Escalación
  • Traslación
  • Rotación

Transformaciones geométricas básicas en 3D son:

  • Escalación
  • Traslación
  • Rotación en torno al eje X
  • Rotación en torno al eje Y
  • Rotación en torno al eje Z

Procedimiento general al aplicar una transformación geométrica

  • Primero se debe tener la información de las coordenadas del objeto a transformar.
  • Se selecciona la transformación geométrica por realizar.
  • Se aplica la transformación seleccionada a cada una de las coordenadas originales del objeto, para obtener las coordenadas modificadas del objeto.
  • Se redibuja el objeto con las nuevas coordenadas, visualizándose el objeto ya modificado.



Escalación 2D



Nos permitirá cambiar las dimensiones de un objeto.

Requiere 2 parámetros:

Sx = Factor de escalación en X

Sy = Factor de escalación en Y

Sx,Sy > 1 = Aumenta la dimensión

Sx,Sy < 1 = Disminuye la dimensión

Sx,Sy = 1 =Se mantiene la dimensión





Traslación 2D



Nos permitirá cambiar la posición de un objeto, moviéndolo en línea recta desde una posición inicial a la posición final.

Requiere 2 parámetros:

Tx = Desplazamiento en X

Ty = Desplazamiento en Y

Tx, Ty > 0 = Desplazamiento positivo

Tx, Ty < 0 = Desplazamiento negativo

Tx,Ty = 0 = No hay desplazamiento



Rotación 2D



Nos permite rotar o girar un objeto en torno al origen un ángulo dado.
Requiere 1 parámetro:

q = Ángulo de rotación

q > 0 = Rotación contraria a sentido de las manecillas del reloj

q < 0 = Rotación en el sentido de las manecillas del reloj

q = 0 = Sin rotación



Escalación 3D



Nos permitirá cambiar las dimensiones de un objeto.

Requiere 3 parámetros:

Sx = Factor de escalación en X

Sy = Factor de escalación en Y

Sz = Factor de escalación en Z

Sx,Sy,Sz > 1 = Aumenta la dimensión

Sx,Sy,Sz < 1 = Disminuye la dimensión

Sx,Sy,Sz = 1 = Se mantiene la dimensión



Traslación 3D



Nos permitirá cambiar la posición de un objeto, moviéndolo en línea recta desde una posición inicial a la posición final.

Requiere 3 parámetros:

Tx = Desplazamiento en X

Ty = Desplazamiento en Y

Tz = Desplazamiento en Z

Tx, Ty,Tz > 0 = Desplazamiento positivo

Tx, Ty,Tz < 0 = Desplazamiento negativo

Tx,Ty,Tz = 0 = No hay desplazamiento





Representación matricial

  • Facilita el cómputo de las transformaciones a simples multiplicaciones matriciales.
  • Se requiere representar las coordenadas en forma homogénea.

(x,y) se representa como (x,y,1)

(x,y,z) se representa como (x,y,z,1)



Coordenadas Homogéneas



Uno de los problemas con que nos enfrentamos es la posible confusión entre un punto y un vector, a la hora de representarlos. Por ejemplo, P = ( 3 2 ) y v = ( -2 5 ) comparten la misma representación matricial. Además, no se puede representar un cambio de marco con multiplicaciones matriciales. Para evitar estas dificultades, usaremos coordenadas homogéneas las cuales agregan un elemento o dimensión más al que tenemos, para representar puntos y vectores.
En el marco descrito por ( u1, u2, P0 ), cualquier punto, P, puede ser representado como,

P = a u1 + b u2 + P0

Podemos expresar lo anterior con matrices, resultando en lo siguiente:

              ( u1 )

P = ( a b 1 ) ( u2 )

              ( P0 )

Asimismo, podemos expresar cualquier vector del mismo marco de la siguiente manera:

v = c u1 + d u2

La expresión en forma matricial es la siguiente:

              ( u1 )

v = ( c d 0 ) ( u2 )

              ( P0 )

Podemos expresar este vector sencillamente como:

v = ( c d 0 )

Resumiendo, con las coordenadas homogéneas,

  • Podemos representar y manipular puntos y vectores de la misma manera.
  • Cualquier punto en 2D se representará así, P = ( x, y, 1 ).
  • Cualquier vector en 2D se representará así, v = ( vx, vy, 0 ).

Existe una relación lineal entre un punto en 2D y su representación en coordenadas homogéneas. Al extender un punto en 2D a uno en 3D, éste se convierte en una línea recta de la forma, P = ( tx, ty, tw ). Por lo tanto, tenemos un conjunto de coordenadas equivalentes, como es ( 2, 3, 1 ), ( 4, 6, 2 ), ( 20, 30, 10 ), etcétera. Sin embargo, como nos interesa mantener el tercer componente como 1, debemos homogeneizar el trío. Esto se hace dividiendo el tercer componente, w, entre todos. Por ejemplo, P = ( -15, 10, 5 ) pasa a ser P = ( -3, 2, 1 ).

Bibliografia