You are on page 1of 4

Transformaciones del modelo

Aqu se transforman los vrtices en el sistema ( Xm,Ym,Zm) (sistema de coordenadas del modelo) al sistema (Xw,Yw,Zw) (sistema de coordenadas del mundo o escena) Transformaciones 2D Traslacin 1 0 tx 0 1 ty 0 0 1 Rotacin cos -sen 0 sen cos 0 0 0 1 Escala sx 0 0 0 sy 0 0 0 1

Transformaciones 3D Traslacin Rotacin X 0 0 0 1 0 0 tx 1 0 1 0 ty 0 cos -sen 0 0 0 1 tz 0 sen cos 0 0 0 1 0 0 0 1 0 Rotacin sobre un eje arbitrario Rotacin Z 0 cos -sen 0 0 sx 0 sen cos 0 0 0 0 0 0 1 0 0 1 0 0 0 1 0 cos 0 sen 0 0 0 0 y P2(x21 Si el eje es un vector V definido por los dos puntos P1(x1,y1,z1) ,y2,z2), entonces la -sen 0 cos 0 calcula multiplicando las siguientes matrices: 0 0 1 0 R-1 R-1 0 1 0 0 a 0 d 0 R 0 cos -sen 0 0 d 0 sen cos 0 0 0 0 0 0 1 0 a 1 0 0 0 1 0 R R 0 1 0 0 Rotacin Y cos 0 sen 0 1 0 -sen 0 cos 0 0 0 Escala 0 0 sy 0 0 sz 0 0

0 0 0 1

rotacin se

T-1 1 0 0 0 0 1 0 0

T 0 -x1 0 -y1 1 -z1 0 1

0 x1 1 0 0 0 d 0 y1 0 c/d b/d 0 0 1 z1 0 -b/d c/d 0 -a 0 1 0 0 0 1 0

0 -a 0 1 0 0 0 1 1 0 0 0 c/d -b/d 0 0 0 d 0 0 b/d c/d 0 0 0 0 1 0 0 0 1 0

donde:

a=

x 2 - x1 V ,

b=

y 2 - y1 V ,

c=

z 2 - z1 V ,

d = b2 + c2

V = (x 2 - x 1) 2 + (y 2 - y 1) 2 + (z 2 - z 1) 2

Transformacion de la cmara
Aqu se transforman los vrtices en el sistema ( Xw,Yw,Zw) (sistema de coordenadas del mundo o escena) al sistema (Xv,Yv,Zv) (sistema de coordenadas de la cmara o vista)

Si se coloca la cmara en el punto Co(x0,y0,z0) y mirando hacia el punto C1(x1,y1,z1) en la escena, entonces la transformacin de las coordenadas de la escena a las de la cmara estarn dadas por las siguientes matrices: R ux uy uz vx vy vz nx ny nz 0 0 0 donde: T

0 1 0 0 0 0 1 0

0 1 0 0

0 -x0 0 -y0 1 -z0 0 1

Vup = (0,1,0) N = (x 0 - x 1, y 0 - y 1, z 0 - z 1)
N = (x 0 - x 1) 2 + (y 0 - y 1) 2 + (z 0 - z 1) 2

n=

N N

n es el vector unitario con los componentes nx,ny,nz

U = Vup N (producto cruz)

u= ux,uy,uz

U U

u es el vector unitario con los componentes


(producto cruz)

V = N U V v= V

v es el vector unitario con los componentes vx,vy,vz


(frmula general V1 V 2 = (V 1 yV 2 z- V 1 zV 2 y,V 1 zV 2 x- V 1 xV 2 z,V 1 xV 2 y- V 1 yV 2 x) para calcular el Transformacin de producto cruz) Proyeccin Aqu se transforman los vrtices en el sistema (Xv,Yv,Zv) (sistema de coordenadas de la cmara o vista) al sistema (Xp,Yp,Zp) (sistema de coordenadas de la proyeccin)

Ortogrfica (paralela) 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 Perspectiva d 0 0 0 0 d 0 0 0 0 0 0 0 0 1 d donde d es la distancia (siempre positiva) que hay del origen al punto de convergencia. Se asume al utilizar esta matriz que el plano de proyeccin es siempre el plano X-Y del sistema de coordenadas y que el punto de convergencia siempre est sobre el eje Z negativo. Al aplicar esta matrz a los vrtices, nos dan vectores columna donde el cuarto rengln puede no tener el valor de 1, si ese es el caso, hay que dividir todos los renglones de esa columna entre el valor del cuarto renglon para poder interpretarlo como un vrtice. Esto se representa como sigue (suponiendo que el cuarto rengln nos diera el valor h): x x/ h x y y/ h y z z/ h z h h / h 1

Transformacin de Normalizacin
Aqu se transforman los vrtices en el sistema (Xp,Yp,Zp) (sistema de coordenadas de la proyeccin) al sistema (Xn,Yn,Zn) (sistema de coordenadas normalizados) Se transforman los vrtices tomando como referencia dos ventanas, una en el sistema ( Xp,Yp,Zp), con los valores mximos y mnimos en x y en y: xpmin, xpmax, ypmin, ypmax (izquierda, derecha, abajo, arriba), y la otra en el sistema (Xn,Yn,Zn) con los valores xnmin, xnmax, ynmin, ynmax (izquierda, derecha, abajo, arriba). De acuerdo a lo anterior, las relaciones ancho y alto entre ambas ventanas estarn dadas por las siguientes frmulas:

xnmax- xnmin xpmax- xpmin ynmax- ynmin sy = ypmax- ypmin sx =

relacin del ancho entre ambas ventanas

relacin del alto entre ambas ventanas

Y finalmente, la transformacin de normalizacin se da con la multiplicacin de las siguientes matrices: T2 1 0 0 0 0 0 xnmin sx 0 1 0 ynmin 0 sy 0 1 0 0 0 0 0 1 0 0 S 0 0 1 0 0 0 0 1 1 0 0 0 0 1 0 0 T1 0 -xpmin 0 -ypmin 1 0 0 1

You might also like