Está en la página 1de 16

Representación Gráfica - UTN 18/03/2019

Dr. Ing. Gustavo Di Rado

UNIVERSIDAD TECNOLÓGICA NACIONAL


REPRESENTACIÓN GRÁFICA
DR. ING. GUSTAVO DI RADO

LINK https://www.mediafire.com/folder/5vam4yr792tk8/Alumnos
2019

REPASO DE MATRICES Y TRANSFORMACÍÓN


LINEAL

1
Representación Gráfica - UTN 18/03/2019
Dr. Ing. Gustavo Di Rado

Matrices
Elemento: aij  a11 a12  a1n 
 
Tamaño: m  n
 a21 a22  a2 n 
Matriz cuadrada: n  n    
(orden n)  
Elementos de la diagonal: ann
a
 m1 m 2a  amn 

 a1 
Vector columna  
(matriz n x 1)  a2 

 
 an 
Vector fila
( a1 a2  an )
(matriz 1 x n)

 2 1 3  4 7  8
   
Suma: A  0 4 6 , B   9 3 5
  6 10  5   1 1 2 
  
 24  1  7 3  (8)   6 6  5 
   
AB  09 43 6  5    9 7 11 
  6  1 10  ( 1)  5  2    5 9  3 
   
Multiplicación por un escalar:
 ka11 ka12  ka1n 
 
 ka21 ka22  ka2 n 
kA    (k aij ) mn
  
 
ka
 m1 kam2  ka mn 

2
Representación Gráfica - UTN 18/03/2019
Dr. Ing. Gustavo Di Rado

Si A, B, C son matrices mn, k1 y k2 son escalares:

(i) A+B=B+A
(ii) A + (B + C) = (A + B) + C
(iii) (k1k2) A = k1(k2A)
(iv) 1A =A
(v) k1(A + B) = k1A + k1B
(vi) (k1 + k2) A = k1A + k2A

Multiplicación:
(a) 4 7 9  2
A ,B  
 3 5 6 8
 4  9  7  6 4  ( 2 )  7  8   78 48 
AB      
 3  9  5  6 3  ( 2 )  5  6   57 34 
(b) 5 8
    4  3
A  1 0 , B   
2 7  2 0 
 
 5  ( 4 )  8  2 5  ( 3)  8  0    4  15 
   
AB   1  ( 4 )  0  2 1  ( 3)  0  0     4  3 
 2  ( 4 )  7  2 2  ( 3)  7  0   6  6 
   

Nota: En general, AB  BA

3
Representación Gráfica - UTN 18/03/2019
Dr. Ing. Gustavo Di Rado

Transpuesta de una matriz A:


 a11 a12  a1n   a11 a21  am1 
   
 a21 a22  a2 n  T  a12 a22  am 2 
A A 
     
   
a a
 m1 m 2  amn   a1n a2 n  amn 

(i) (AT)T = A
(ii) (A + B)T = AT + BT
(iii) (AB)T = BTAT
(iv) (kA)T = kAT

Nota: (A + B + C)T = AT + BT + CT
(ABC)T = CTBTAT

Matriz cero  0 0
0 0 0  
0 ,0  , 0   0 0
0 0 0  0 0
A+0=A  
A + (–A) = 0

Matrices triangulares
  2 0 0 0 0
1 2 3 4  
   1 6 0 0 0
0 5 6 7  8 9 3 0 0
0 0 8 9  
   1 1 1 2 0
0 0 0 1   15 2 3 4 1 
 
Triangular superior Triangular inferior

4
Representación Gráfica - UTN 18/03/2019
Dr. Ing. Gustavo Di Rado

Matriz diagonal:
Matriz cuadrada n  n, i ≠ j, aij = 0
7 0 0
   5 0 1 0
0 1
2 0   5 
0  0 5 0 1
 0 1 

Matriz identidad:
1 0 0  0
 
A: m  n, entonces 0 1 0  0
Im A = A In = A  
 
0 0 0  1 

Matriz simétrica:
Una matriz A n × n es simétrica si AT = A.

1 2 7
 
A  2 5 6
7 6 4
 
1 2 7
 
AT   2 5 6   A
7 6 4
 

5
Representación Gráfica - UTN 18/03/2019
Dr. Ing. Gustavo Di Rado

Matriz ortogonal (Rotación):


 Cualquier matriz n x n cuyas columnas o filas forman una base
ortonormal de vectores es ortogonal.
 Una matriz A n × n es ortogonal si A-1 = AT y AAT=1.
a11  a11  a12  a12  1
 a11 a12   a11 a21  1 0 a11  a21  a12  a22  0a1  a11 a12 
a   a   0 1  a  a  a  a  0  a  a
a a
 21 22   12 22    21 11 22 12 2 21 a22 
a21  a21  a22  a22  1
a1  a1  1
• El producto escalar de un vector por si mismo es 1 si y solo
 a1  a1  a2  0 si son vectores unitarios.
a 
a2  a2  a1  0 • El producto escalar de dos vectores es cero si y solo si los
vectores son perpendiculares entre sí.
a2  a2  1

Transformaciones geométricas:
 El siguiente paso consiste en permitir modificar primitivas:
Transformaciones Geométricas
i. – Para poder implementar aplicaciones de diseño
ii. – Para poder realizar animaciones
iii. – Para interactuar con la escena
Las transformaciones básicas que se necesitan son:
 – Traslación: cambios en la posición
 – Rotación: cambios en la orientación
 – Escalado: cambios en el tamaño

6
Representación Gráfica - UTN 18/03/2019
Dr. Ing. Gustavo Di Rado

Representación matricial:
 Muchas aplicaciones incluyen secuencias de transformaciones
geométricas:
 – Una animación requiere que los objetos se trasladen y roten en
cada fotograma
 – Un diseño CAD requiere muchas transformaciones hasta
obtener el resultado final.
 Cada transformación puede representarse como:
P’ = P M1 + M2
 La matriz M1 contiene la información de ángulos y factores
de escala
 La matriz M2 contiene los términos de traslación asociados
al punto fijo y al centro de rotación

Coordenadas homogéneas:
 ¿Cómo podríamos eliminar la matriz M2, y usar una única matriz para
transformación?
 Solución: pasando a matrices 3x3 en lugar de 2x2
 Para ello debemos representar un punto cartesiano (x, y) en coordenadas
homogéneas
 Un punto (x, y) se representa en coordenadas homogéneas de la forma
(hx, hy, h), para cualquier h distinto de 0
 Esto significa que un mismo punto tiene infinitas representaciones en coordenadas
homogéneas
 Ejemplo: el punto (4, 6)puede expresarse como
– (4, 6, 1) (8, 12, 2) (2, 3, 1/2) (8/3, 4,2/3) (-12, -18, -3)
 Lo habitual es tomar h=1,con lo que el punto (x, y) pasa a ser (x, y, 1)
 Conclusión: el punto (a,b,c) en coordenadas homogéneas representa al punto (a/c,
b/c)

7
Representación Gráfica - UTN 18/03/2019
Dr. Ing. Gustavo Di Rado

Coordenadas homogéneas:
 El uso de coordenadas homogéneas permite tratar todas las transformaciones
geométricas como una multiplicación de matrices
1 0 0
 
 Traslación: ( x´, y´,1)  ( x, y,1)  0 1 0 P´ P  T ( t x , t y )
t x ty 1

 cos( ) sen( ) 0
 Rotación al origen ( x´, y´,1)  ( x , y,1)  sen( ) cos( ) 0 P´ P  R( )
 
 0 0 1

 kx 0 0 
 Escalado al origen ( x´, y´,1)  ( x, y ,1)  0 ky 0 P´  P  E ( k x , k y )
 
 0 0 1 

1 b 0
 Deformación al origen ( x´, y´,1)  ( x, y ,1)  c 1 0 P´= P  D(b,c)
 
0 0 1 

Traslacion
x  10 y  40 tx  30 ty  40

x1  x  tx x1  40

y1  y  ty y1  80

 x1   x   tx   x1   40 
   
     
 y1   y   ty   y1   80 
 

COORDENADAS HOMOGENEAS

 x1   1 T  x1   40 
0 0 x  1 0 0
           
 y1    0 1 0   y   
x1 y1 z1  ( x y 1 )  0 1 0   y1    80 
  t ty 1   1  t t 1   1 
 z1   x x y   z1   

8
Representación Gráfica - UTN 18/03/2019
Dr. Ing. Gustavo Di Rado

Rotación al origen de un punto dentro


del mismo SC
 En 2D estamos restringidos a la rotación alrededor de un punto.
 Para esta explicación no consideramos la traslación, por lo que la rotación es
alrededor del origen
 En una rotación 2D la variable es solo un ángulo (q
 Usualmente la rotación contra las agujas del reloj es (+)
 En la figura se muestra como los vectores p y q son rotados al origen, obteniendo p`
y q`

 p`  cos( ) sen( )


R( )      
 q`  sen( ) cos( ) 

Rotación al origen de un punto dentro


del mismo SC
10 
x  10 y  40 q 
180

 x1   cos  q  sin q T  x 
      
 y1   sin q  cos  q    y   x1   2.9022 
    
 y1   41.1288 
 
 cos  q  sin q  
 x1 
y1  ( x y )  
 sin q  cos  q  

COORDENADAS HOMOGENEAS
 x1   cos  q  sin q  0 T  x 
     
 y1    sin q  cos  q 0   y   x1   2.9022 
   0   
1  1     
 z1  
0
 y1    41.1288 
   1 
 cos  q sin q  0  1   

 x1 y1 z1  ( x y 1 )  sin q  cos  q  0 

 0 0 1

9
Representación Gráfica - UTN 18/03/2019
Dr. Ing. Gustavo Di Rado

Rotación general de un punto dentro


del mismo SC
10 
xc  5 yc  7 q 
180

 x1   cos  q sin q  T  x   xc   xc   x1   4.1936 


               
 y1   sin q  cos  q    y   yc   yc   y1   40.3669 
   

COORDENADAS HOMOGENEAS

 x1    1 0 0   cos  q  sin q  0   1 0 0 T   x   x1   4.1936 


             
 y1     0 1 0   sin q  cos  q  0   0 1 0    y   y1    40.3669 
    xc yc 1   0      
1   xc yc 1    1 
   1 
 z1      z1   
0

Rotación de los ejes (nuevo SC)

10 
x  10 y  40 q 
180

 x1   cos  q  sin q  T  x   cos  q sin q    x1   16.794 


     
 
    x1 
y1  ( x y )  
 

 y1   sin q  cos  q    y   sin q  cos  q    y1   37.6558 

COORDENADAS HOMOGENEAS
 x1   cos  q  sin q  0 T  x 
     
 y1    sin q  cos  q  0   y 
   0     x1   16.794 
0 1  1 
 z1      
 y1    37.6558 
   1 
1   
 cos  q  sin q  0 
 x1 y1 z1  ( x y 1 )  sin q 
 cos  q  0 
 0 0 1

10
Representación Gráfica - UTN 18/03/2019
Dr. Ing. Gustavo Di Rado

Matriz de escalado al origen


 si k > 1 aumenta el tamaño
 si k = 1 no cambia el tamaño
 si k < 1 disminuye el tamaño

 kx = ky escalado uniforme
 kx /= ky escalado no uniforme

kx  1.5 ky  1.5 x  10 y  40

 x1   kx 0 T  x   x1   15 
         
 y1   0 ky   y   y1   60 
   

COORDENADAS HOMOGENEAS
 x1   kx 0 0 T  x 
       x1   15 
 y1    0 ky 0   y     
   0 0 1  1   y1    60 
 z1        1 
 z1   

Matriz de escalado general


 si k > 1 aumenta el tamaño
 si k = 1 no cambia el tamaño
NOTA: Si el punto base de escalado NO
 si k < 1 disminuye el tamaño se encuentra en el baricentro del objeto, se
produce un desplazamiento.
 kx = ky escalado uniforme
 kx /= ky escalado no uniforme

kx  1.5 ky  1.5 x  10 y  40 xc  5 yc  7
T
 x1   kx 0   x   xc   xc   x1   12.5 
               
 y1   0 ky   y   yc   yc   y1   56.5 

COORDENADAS HOMOGENEAS
 x1   1 0 0   kx 0 0   1 0 0 T  x   x1   12.5 
           
 y1    0 1 0   0 ky 0   0 1 0   y   y1    56.5 
   xc yc 1   0 0 1   xc yc 1   1     1 
 z1         z1   

11
Representación Gráfica - UTN 18/03/2019
Dr. Ing. Gustavo Di Rado

Escalado en una dirección arbitraria


 Se puede aplicar un escalado independientemente del sistema de coordenadas en uso
 Consideramos un vector unitario n que pasa por el origen y es paralelo a la dirección de
escalado
 Definimos k como el factor de escala
 Dado un vector v, computamos v` en función de v, n y k.
 Descomponemos al vector v en una dirección paralela y perpendicular a n

I
I
v  v  v

I
I
v  ( v  n)  n

I
I
v`  v  v  v  v  ( v  n)  n
I
I

I
I
v`  k  v  k  ( v  n)  n
I
I
v` v`  v`  v  ( v  n)  n  k  (v  n)  n
v` v  ( k  1)  ( v  n)  n

Escalado en una dirección arbitraria


 Computamos el valor de los vectores base después del escalado (Matriz de escalado)
 Trabajamos con el primer vector base en 2D [1 0]
 El otro vector se deduce de manera similar
p  [1 0]
p` p  ( k  1)  ( p  n)  n
1   1 nx   nx 
p`    ( k  1)           
0
   0  n y  n y
    
2
1
   n x  1  ( k  1)  nx 
p`    ( k  1)  nx         
0  n y  0 ( k  1)  nx  n y 
1  ( k  1)  nx 2  0  ( k  1)  nx  n y 
p`   q`     2
 ( k  1)  nx  n y  1 1  ( k  1)  n y 
2
 p` 1  ( k  1)  nx ( k  1)  nx  n y 
E ( n, k )      2

 q`  ( k  1)  nx  n y 1  ( k  1)  n y 

12
Representación Gráfica - UTN 18/03/2019
Dr. Ing. Gustavo Di Rado

Matriz de escalado general en


dirección arbitraria
xc  5 yc  7 k  1.5 x  10 y  40

 n0  0 
 
 10  5   n   0.1498 
n    nun  nun   
 40  7   n1  0   0.9887 
 
 n 

T
 1  (k  1)  n 2
 ( k  1) nun nun 
 x1    un0  0 0 0 10  x   xc   xc   x1   12.5 
               
 y1   (k  1) n 2
un0  0 nun1  0 1  ( k  1)  nun1  0 
  y   yc   yc   y1   56.5 
   

COORDENADAS HOMOGENEAS
T
  2  
 x1   1 0 0   1  ( k  1)  nun0  0  (k  1) nun0  0nun1  0 0   1 0 0   x   x1   12.5 
           
 y1    0 1 0   ( k  1) n 2   0 1 0   y   y1    56.5 
   xc yc 1   un0  0 nun1  0 1  (k  1)  nun1  0  0  
     xc yc 1   1     1 
z1
       z1   
  0 0 1 

Matriz de reflexión o simetría


 Simetría (Mirror) es una transformación que gira un objeto alrededor de una línea
que pertenece al plano del objeto
 Puede ser representada fácilmente aplicando un factor -1 a la matriz de escalado en
un dirección arbitraria

1  ( 1  1)  nx 2 ( 1  1)  nx  n y 
M ( n)  E ( n,1)   
 ( 1  1)  nx  n y 1  ( 1  1)  n y2 

1  2  nx 2  2  nx  n y 
M ( n)  E ( n,1)   
 2  nx  n y 1  2  n y 2 

13
Representación Gráfica - UTN 18/03/2019
Dr. Ing. Gustavo Di Rado

Matriz de reflexión o simetría

x  10 y  40

 x1   1 0 T  x   x1   10 
         
 y1   0 1   y   y1   40 
   

COORDENADAS HOMOGENEAS

 x1   1 0 0 T  x   x1   10 
         
 y1    0 1 0   y   y1    40 
   0 0 1  1     1 
 z1       z1   

Matriz de reflexión o simetría en


dirección arbitraria
x  10 y  40

 n0  0 
 
 10   n   0.2425 
n    nun  nun   
 40   n1  0   0.9701 
 
 n 

T
 2 
 x1   1  2  nun0  0  2 nun0  0nun1  0   x   x1   10 
         
 y1   2 y  y1   40 
  2 nun nun 1  2  nun      
 0 0 10  1  0 

COORDENADAS HOMOGENEAS
T
 2 
 x1   1  2  nun0  0  2 nun0  0nun1  0 0   x   x1   10 
         
 y1    2 n 2   y   y1    40 
   un0  0 nun1  0 1  2  nun1  0  0       1 
  1
 z1       z1   
 0 0 1

14
Representación Gráfica - UTN 18/03/2019
Dr. Ing. Gustavo Di Rado

Matriz de reflexión o simetría general

xc  8 yc  25 x  10 y  40

T
 x1   1 0   x   xc   xc   x1   6 
               
 y1   0 1   y   yc   yc   y1   10 

COORDENADAS HOMOGENEAS

 x1   1 0 0   1 0 0   1 0 0 T  x   x1   6 
           
 y1    0 1 0   0 1 0   0 1 0   y   y1    10 
   xc yc 1   0 0 1   xc yc 1   1    1 
 z1         z1   

Matriz de reflexión o simetría general


en dirección arbitraria
xc  8 yc  25 x  10 y  40

 n0  0 
 
 10  8   n   0.1322 
n    nun  nun   
 40  25   n1  0   0.9912 
 
 n 

T
 1  2  n 2
 2 nun nun 
 x1    un0  0 00 10  x   xc   xc   x1   6 
               
 y1   2 n 2
un0  0 nun1  0 1  2  nun1  0
  y   yc   yc   y1   10 
   

COORDENADAS HOMOGENEAS
T
  2  
 x1   1 0 0   1  2  nun0  0  2 nun0  0nun1  0 0   1 0 0   x   x1   6 
           
 y1    0 1 0   2 n 2   0 1 0   y   y1    10 
   xc yc 1   un0  0nun1  0 1  2  nun1  0  0  
  xc yc 1   1    1 
 z1       z1   
  0 0 1 

15
Representación Gráfica - UTN 18/03/2019
Dr. Ing. Gustavo Di Rado

Matriz de deformación

COORDENADAS HOMOGENEAS

Matriz de deformación general

COORDENADAS HOMOGENEAS

16

También podría gustarte