180 likes | 307 Views
Visualización Computacional de Datos I. Transformaciones. Transformaciones. Las transformaciones se aplican sobre los puntos que definen el objeto. P i. P 1. P 2. Pi = (px, py). Transformaciones Simples. Escala isotrópica. Pi = (px, py). sx 0 0 sy. S =. Pi = S.Pi. dy. dx.
E N D
Visualización Computacional de Datos I Transformaciones
Transformaciones Las transformaciones se aplican sobre los puntos que definen el objeto Pi P1 P2 Pi = (px, py)
Transformaciones Simples Escala isotrópica Pi = (px, py) sx 0 0 sy S = Pi = S.Pi
dy dx Pi = Pi + D Transformaciones Simples Traslación Pi = (px, py) D = (dx, dy)
cos -sin sin cos R = Transformaciones Simples Rotación Pi = (px, py) Pi = R.Pi
Cuerpo rígido / Eucledianas • Preserva distancias • Preserva ángulos Rigidas / Euclideanas Translación Rotación
Similares • Conserva ángulos Similares Rígidas / Euclideanas Translación Escala isotrópica Rotación
Lineales Similares Rígidas / Eucledianas Lineales Escala Translación Escala isotrópica Rotación Reflexión Shear
Transformaciones afines • Preserva lineas paralelas Afines Similares Rígidas / Euclideanas Lineales Escala Translación Escala isotrópica Rotación Reflexión Shear
Transformaciones Projectivas • Preserva líneas Projectivas Afines Similares Rígidas / Euclideanas Lineales Escala Translación Escala isotrópica Rotación Reflexión Shear Perspectivas
General / no lineales • No preserva líneas From Sederberg and Parry, Siggraph 1986
Como representar las transformaciones? x' = ax + by + c y' = dx + ey + f x y c f x' y' a b d e + = p' = M p + t
Coordenadas homogeneas • Se agrega una dimensión extra • en 2D, se usa 3 x 3 matrices • en 3D, se usa 4 x 4 matrices • Cada punto tiene entonces un valor extra, w a e i m b f j n c g k o d h l p x y z w x' y' z' w' = p' = M p
Pasar a coordenadas homogeneas x' = ax + by + c y' = dx + ey + f Affine formulation Homogeneous formulation c f 1 x y 1 x' y‘ 1 a b d e 0 0 = x y c f x' y' a b d e + = p' = M p + t p' = M p
Translación (tx, ty, tz) • Por que utilizar coordenadas homogeneas?Porque ahora traslaciones se expresan como matriz! 1 0 0 0 0 1 0 0 0 0 1 0 tx ty tz 1 x y z 1 x' y' z' 0 x' y' z' 1 =
Scale(s,s,s) Escala (sx, sy, sz) p' y p q' • Isotropica (uniforme) scaling: sx = sy = sz q x sx 0 0 0 0 sy 0 0 0 0 sz 0 0 0 0 1 x y z 1 x' y' z' 1 =
ZRotate(θ) Rotación y p' • Sobre eje z θ p x z cos θ sin θ 0 0 -sin θ cos θ 0 0 0 0 1 0 0 0 0 1 x y z 1 x' y' z' 1 =