formulas graficacion

4

Click here to load reader

Upload: jazmin-guel

Post on 06-Jul-2015

81 views

Category:

Education


2 download

TRANSCRIPT

Page 1: Formulas graficacion

Transformaciones del modeloAquí se transforman los vértices 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

Traslación Rotación Escala

Transformaciones 3D

Traslación Rotación X Rotación Y Rotación Z Escala

Rotación sobre un eje arbitrario

Si el eje es un vector V definido por los dos puntos P1(x1,y1,z1) y P2(x2,y2,z2), entonces la rotación se calcula multiplicando las siguientes matrices:

donde: 2 1x - xa =V ,

2 1y - yb =

V ,2 1z - zc =V , 2 2b + cd =

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

Transformacion de la cámaraAquí se transforman los vértices en el sistema (Xw,Yw,Zw) (sistema de coordenadas del mundo o escena) al sistema (Xv,Yv,Zv) (sistema de coordenadas de la cámara o vista)

x

y

1 0 t

0 1 t

0 0 1

cosθ -senθ 0

senθ cosθ 0

0 0 1

x

y

s 0 0

0 s 0

0 0 1

x

y

z

1 0 0 t

0 1 0 t

0 0 1 t

0 0 0 1

1 0 0 0

0 cosθ -senθ 0

0 senθ cosθ 0

0 0 0 1

cosθ 0 senθ 0

0 1 0 0

-senθ 0 cosθ 0

0 0 0 1

cosθ -senθ 0 0

senθ cosθ 0 0

0 0 1 0

0 0 0 1

cosθ 0 senθ 0

0 1 0 0

-senθ 0 cosθ 0

0 0 0 1

x

y

z

s 0 0 0

0 s 0 0

0 0 s 0

0 0 0 1

1

1

1

1 0 0 x 1 0 0 0 d 0 a 0 cosθ -senθ 0 0 d 0 -a 0 1 0 0 0

0 1 0 y 0 c/d b/d 0 0 1 0 0 senθ cosθ 0 0 0 1 0 0 0 c/d -b/d 0

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

0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1

1

1

1

1 0 0 -x

0 1 0 -y

0 0 1 -z

0 0 0 1

T-1 Rα-1 Rβ

-1 Rθ Rβ Rα T

Page 2: Formulas graficacion

Si se coloca la cámara en el punto Co(x0,y0,z0) y mirando hacia el punto C1(x1,y1,z1) en la escena, entonces la transformación de las coordenadas de la escena a las de la cámara estarán dadas por las siguientes matrices:

0

0

0

x y z

x y z

x y z

u u u 0 1 0 0 -xv v v 0 0 1 0 -yn n n 0 0 0 1 -z0 0 0 1 0 0 0 1

donde: upV = (0,1,0)

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

u es el vector unitario con los componentes ux,uy,uz

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

Transformación de Proyección

Aquí se transforman los vértices en el sistema (Xv,Yv,Zv) (sistema de coordenadas de la cámara o vista) al sistema (Xp,Yp,Zp) (sistema de coordenadas de la proyección)

R T

0 1 0 1 0 1

2 2 20 1 0 1 0 1

, , z )

N = (x - x ) + (y - y ) + (z - z )

N = (x - x y - y - z

Nn =N

V = N× U

Vv =

V

U = Vup× N

Uu =U

(producto cruz)

(producto cruz)

1 y 2 z 1z 2 y 1z 2 x 1 x 2 z 1 x 2 y 1 y 2 xV1×V 2 = (V V V V ,V V V V ,V V V V )- - -(fórmula general para calcular el producto cruz)

Page 3: Formulas graficacion

Ortográfica (paralela)

Perspectiva

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 proyección 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 matríz a los vértices, nos dan vectores columna donde el cuarto renglón 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 vértice. Esto se representa como sigue (suponiendo que el cuarto renglón nos diera el valor h):

Transformación de NormalizaciónAquí se transforman los vértices en el sistema (Xp,Yp,Zp) (sistema de coordenadas de la proyección) al sistema (Xn,Yn,Zn) (sistema de coordenadas normalizados)

Se transforman los vértices tomando como referencia dos ventanas, una en el sistema (Xp,Yp,Zp), con los valores máximos y mínimos 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 estarán dadas por las siguientes fórmulas:

relación del ancho entre ambas ventanas

1 0 0 0

0 1 0 0

0 0 0 0

0 0 0 1

d 0 0 0

0 d 0 0

0 0 0 0

0 0 1 d

x x/ x

y y/ y

z z/ z

/ 1

h

h

h

h h h

→ →

max minx

max min

max miny

max min

xn - xns =xp - xpyn - yn

s =yp - yp

Page 4: Formulas graficacion

relación del alto entre ambas ventanas

Y finalmente, la transformación de normalización se da con la multiplicación de las siguientes matrices:

min x min

min y min

1 0 0 xn s 0 0 0 1 0 0 -xp

0 1 0 yn 0 s 0 0 0 1 0 -yp

0 0 1 0 0 0 1 0 0 0 1 0

0 0 0 1 0 0 0 1 0 0 0 1

T2 S T1