SlideShare uma empresa Scribd logo
1 de 11
Baixar para ler offline
Universidad San Francisco de Quito
                                   Proyecto de Álgebra Lineal
                   “Aplicaciones a Gráficos de Computadora”


                                                 8 de diciembre de 2010


1      Teoría
1.1      Proyecciones
Uno de los principales problemas en el diseño gráfico es cómo dibujar objetos tridimensionales en el
papel o en la pantalla del ordenador. O expresado de forma matemática: dado x = (x, y, z)t ∈ R3 ,
¿qué coordenadas (x0 , y0 )t ∈ R2 debe tener el punto que representa a x en el plano? Es decir, tenemos
una aplicación (proyección) P : R3 −→ R2 cuyo significado es el siguiente: P (x) es donde se tiene
que dibujar el punto x. La proyección isométrica es muy usada en el diseño gráfico. Esta aplicación
cumple:

• Es una aplicación lineal.
                  √        t                 √           t
                   3   1                      3   1
• P (e1 ) = −     2 , −2       , P (e2 ) =   2 , −2          , P (e3 ) = (0, 1)t , donde {e1 , e2 , e3 } es la base canónica
    de R3 .

a. Halle la matriz de esta aplicación en la bases canónicas.
          Llamemos B3 = e1 , e2 , e3 a la base de R3 , por tanto, la matriz relacionada a esta aplicación
      lineal es:
                                                 AP = P (e1 ) P (e2 ) P (e3 ) ,

      por tanto                                                   √     √
                                                                   3      3
                                                                − 2      2    0
                                                     P1 =                         .
                                                                  1       1
                                                                 −2     −2    1

b. Calcule P (x) para un punto arbitrario x en R3
         Sea x ∈ R2 , por tanto x es de la forma x = (x, y, z)t , se tiene que

                                                  P (x) = P 1x
                                                                √     √            
                                                               −  3     3
                                                                           0       x
                                                                 2     2
                                                        =                         y 
                                                                 1      1
                                                               −2 −2 1             z
                                                                 √       √
                                                               − 23 x + 23 y
                                                        =                         .
                                                               −2x − 1y + z
                                                                1
                                                                      2

                                     √           √                        t
                                      3            3     1
         Por tanto, P (x) = −        2 x     +    2 y, − 2 x   − 1y + z .
                                                                 2




                                                                   1
c. Calcule en núcleo de P y su dimensión, ¿Cuál es el significado geométrico del núcleo
   de P ?
       Para calcular el núcleo de P , caractericemos los x ∈ R2 tales que P (x) = 0
                                          √      √
                                            3      3       1  1
                        P (x) = 0 ⇐⇒      −   x+     y, − x − y + z = (0, 0)
                                           2      2        2  2
                                        √      √
                                          3      3               1  1
                                   ⇐⇒ −     x+     y=0 y        − x− y+z =0
                                         2      2                2  2
                                                             x+y
                                   ⇐⇒ −x + y = 0 y z =
                                                              2
                                                        x+y
                                   ⇐⇒ x = y y z =
                                                           2
                                                        2x
                                   ⇐⇒ x = y y z =
                                                         2
                                   ⇐⇒ x = y y z = x
                                   ⇐⇒ x = y = z.

      Por tanto los elementos del núcleo de P son de la forma (a, a, a)t con a ∈ R, por tanto una
   base para en núcleo de P es {(1, 1, 1)t }, por ende, la dimension de núcleo de P es 1.
      Esto significa que los puntos que tienen todas sus coordenadas iguales van a ser proyectados
   en el origen del sistema coordenado.
d. Dados dos puntos p y q de R3 , ¿qué condición necesaria y suficiente deben cumplir p
   y q para que sean dibujados en el mismo lugar?
      La condición necesaria y suficiente para que los puntos p y q de R3 se dibujen en el mismo
   lugar es que sus proyecciones sean las mismas, por tanto

                                      P (p) = P (q) ⇐⇒ P (p) − P (q) = 0
                                                     ⇐⇒ P (p − q) = 0,

   es decir si p − q pertenece al núcleo de P ; si definimos p = (p1 , p2 , p3 )t y q = (q1 , q2 , q3 )t , la
   condición necesaria y suficiente para dibujar estos puntos en el mismo lugar es que p1 − q1 =
   p2 − q2 = p3 − q3 .
e. Los vértices del cubo unidad son (0, 0, 0)t , (0, 0, 1)t , (0, 1, 0)t , (0, 1, 1)t , (1, 0, 0)t , (1, 0, 1)t ,
   (1, 1, 0)t , (1, 1, 1)t , ¿Qué figura geométrica resulta si proyectamos el cubo unidad?
       Hallemos primero las proyecciones de estos puntos:

                                P (0, 0, 0)t = P 1 · (0, 0, 0)t = (0, 0)t
                                P (0, 0, 1)t = P 1 · (0, 0, 1)t = (0, 1)t
                                                                    √             t
                                           t                  t        3 1
                                P (0, 1, 0) = P 1 · (0, 1, 0) =          ,−
                                                                      2      2
                                                                    √          t
                                           t                  t        3 1
                                P (0, 1, 1) = P 1 · (0, 1, 1) =          ,
                                                                      2 2
                                                                       √              t
                                           t                  t           3 1
                                P (1, 0, 0) = P 1 · (1, 0, 0) = −          ,−
                                                                        2       2
                                                                       √          t
                                           t                  t           3 1
                                P (1, 0, 1) = P 1 · (1, 0, 1) = −          ,
                                                                        2 2
                                                                              t
                                P (1, 1, 0)t = P 1 · (1, 1, 0)t = (0, −1)
                                                                          t
                                P (1, 1, 1)t = P 1 · (1, 1, 1)t = (0, 0) .


                                                       2
Tenemos 6 coordenadas simétricas con respecto tanto al eje x como al eje y por tanto el gráfico
      obtenido es un hexágono regular1.
 f. Estudie qué proyección se ha de usar si se quiere dibujar el cubo unidad como se
    muestra:




         Para determinar esta proyección se tiene que estudiar las proyecciones de los vectores de la
      base canónica, por el gráfico se tiene que
                                                          P2 (e3 )


                                                                                       P2 (e2 )



                                               P2 (e1 )

                                                             √   √                 t
                                                              2    2
           Por lo tanto se tiene que P2 (e1 ) = −            2 ,− 2                    , P2 (e2 ) = (1, 0)t , P2 (e3 ) = (0, 1)t , donde
      {e1 , e2 , e3 } es la base canónica de R3 .
           La matriz asociada a esta aplicación lineal es
                                                                  √
                                                                    2
                                                                 − 2          1 0
                                                   P2 =           √                             .
                                                                 − 22         0 1

1.2      Coordenadas Homogéneas
Problemas 15, 17, 19 de la sección 2.7 del texto Álgebra Lineal y sus Aplicaciones de David C. Lay.
                                                                                                    1     1 1 1
15. ¿Qué vector en R3 tiene las coordenadas homogéneas                                              2 , − 4 , 8 , 24   ?
                                                                 t
           Se tiene que dado un vector (X, Y, Z, H) , este es el vector de coordenadas homogéneas para
        X Y Z t
        H, H, H ,    por tanto el vector de R3 tiene las coordenadas homogéneas 2 , − 4 , 1 , 24 es
                                                                                   1   1
                                                                                          8
                                                                                               1


                                                            1         1        1        t
                                                            2        −4        8
                                                            1    ,   1    ,    1            ,
                                                            24       24       24

      por tanto el vector de R3 es
                                                            (12, −6, 3)t.

17. Proporcione la matriz de 4 × 4 que gira puntos en R3 alrededor del eje x a través de
    un ángulo de 60◦ .
          Primero, construyamos la matriz de 3 × 3 para la rotación. El vector e1 gira sobre si mismo y
      no se altera. El vector e2 gira 60◦ hacia arriba, deteniéndose en (0, cos 60◦ , sen 60◦ ). Y el vector
      e3 gira igualmente hasta detenerse en (0, − sen 60◦ , cos 60◦ ). Por tanto se tiene que la rotación
      da:

                                                   e1 → (1, 0, 0)t
  1 Esto   se comprobará en la siguiente sección, al dibujas la proyección de este cubo.



                                                                     3
√ t
                                                          1   3
                                            e2 →       0, ,
                                                          2 2
                                                            √    t
                                                             3 1
                                            e3 →       0, −   ,    ,
                                                            2 2

      de donde, la matriz de rotación es
                                                  1    0          0
                                                                         
                                                                 √ 
                                              0       1           3
                                                      2      −   2 .
                                                       √
                                                         3        1
                                                  0    2          2

         Por lo tanto, la matriz de rotación para las coordenadas homogéneas es
                                                             
                                             1 0        0    0
                                                       √     
                                            0 1 − 3 0
                                                  2      2
                                                              .
                                                             
                                                √
                                            0     3    1
                                                 2     2    0
                                                              
                                             0 0        0    1

19. Sea S el triángulo con vértices (4.3, 1.2, 4)t, (6, 4, 3)t , (2, 2, 6)t . Encuentre la imagen de
    S bajo la proyección en perspectiva con centro de proyección en (0, 0, 10)t
         Se tiene que la matriz de proyección de      las coordenadas homogéneas es
                                                                
                                              1        0    0   0
                                            0         1    0   0
                                                                .
                                            0         0    0   0
                                                             1
                                              0        0 − 10 1

          Sean a = (4.3, 1.2, 4, 1)t, b = (6, 4, 3, 1)t , c = (2, 2, 6, 1)t las coordenadas homogéneas del
      triángulo S, se tiene que la proyección es
                                                                                      t
                                                           21 6     3
                                            P ·a =           , , 0,
                                                           5 5      5
                                                                              t
                                                                      4
                                            P · b = 6, 4, 0,
                                                                      5
                                                                              t
                                                                      2
                                            P · c = 2, 2, 0,                      .
                                                                      5

          Para obtener las coordenadas, realizamos el mismo proceso que en 15. (dividimos para la
      cuarta coordenada las otras tres) y obtenemos que las coordenadas de la proyección son (7, 2, 0),
      (7.5, 5, 0), (5, 5, 0).


2     Laboratorio
El objetivo de esta parte es graficar, utilizando el comando plot (de dos dimensiones) de MATLAB,
las proyecciones de objetos geométricos trasladados y rotados. Los objetos que se graficarán estarán
formados únicamente por vértices y aristas. Instrucciones: Cada item tiene dos tipos de actividades:
preguntas o problemas a resolver, y desarrollo en MATLAB.

2.1     Coordenadas
a. Escriba la matriz de datos D para las coordenadas de los puntos del cubo unitario en
   3D. (debe ser una matriz 3x8)



                                                       4
Con los datos dados en la subsección    1.1, literal e, se tiene que la matriz es
                                                                         
                                           0     0 0 0 1 1 1 1
                                    D = 0       0 1 1 0 0 1 1 .
                                           0     1 0 1 0 1 0 1

 b. MATLAB: Crear la matriz de datos D para las coordenadas de los puntos del cubo
    unitario en 3D.
         En MATLAB el código es:
      >> D=[0 0 0;0 0 1;0 1 0;0 1 1;1 0 0;1 0 1;1 1 0; 1 1 1]’.

2.2      Aristas
Una matriz de aristas A para un objeto (grafo o conjunto de N puntos) es la matriz N × N formada
de ceros y unos tal que Ai,j = 1 si existe una arista entre los puntos i y j, y Ai,j = 0 si no existe arista
entre dichos puntos. Como en nuestros gráficos ignoraremos el sentido de la arista y como Ai,j y Aj,i
representan la misma arista, utilizaremos únicamente uno de ellos de modo que podemos hacer que
A sea una matriz triangular. Además, no graficamos arista alguna desde un punto hacia sí mismo, lo
cual quiere decir que Ai,i = 0.

a. ¿Cuál es la matriz de aristas A para el cubo unitario?
          Si numeramos las aristas del cubo en el orden en el cual están ingresados en la matriz D, se
      tiene que
                                                     2         4


                                             6               8

                                                             1           3


                                             5               7
      por tanto, la matriz de aristas es
                                                                              
                                         0       0   0       0   0   0   0   0
                                        1       0   0       0   0   0   0   0
                                                                              
                                        1       0   0       0   0   0   0   0
                                                                              
                                        0       1   1       0   0   0   0   0
                                      A=
                                        1
                                                                               .
                                                0   0       0   0   0   0   0
                                        0       1   0       0   1   0   0   0
                                                                              
                                        0       0   1       0   1   0   0   0
                                         0       0   0       1   0   1   1   0

 b. MATLAB: Crear la matriz de aristas A para el cubo unitario.
         En MATLAB el código es:
      >> A=[0 0 0 0 0 0 0 0;1 0 0 0 0 0 0 0;1 0 0 0 0 0 0 0;0 1 1 0 0 0 0 0;
      1 0 0 0 0 0 0 0;0 1 0 0 1 0 0 0;0 0 1 0 1 0 0 0;0 0 0 1 0 1 1 0].

2.3      Proyecciones
a. MATLAB Definir las matrices (2 × 3) P 1 y P 2 correspondientes a las dos proyecciones
   estudiadas en la subsección 1.1.
         Las matrices P 1 y P 2 son las definidas en la subsección 1.1, en los literales a y f , y su código
      en MATLAB es
      >> P1=[-sqrt(3)/2 sqrt(3)/2 0; -1/2 -1/2 1] y
      >> P2=[-sqrt(2)/2 1 0;-sqrt(2)/2 0 1].

                                                         5
b. ¿Qué información nos da la matriz P 1 · D y P 2 · D?
         Estas matrices nos dan las coordenadas de los puntos del cubo ya proyectados en cada pers-
      pectiva.

2.4      Graficar
Definir la función plotobj8(A,D2) que utiliza la matriz de aristas A y la matriz 2 × 8 de datos D2
que grafica las aristas entre los puntos especificados por la matriz de aristas.

a. Presentar el código de la función plotobj8.
         Definimos primero la función linea que toma dos vectores de R2 y dibuja la linea que pasa
      por estos puntos.
      f u n c t i o n []= linea (a , b )

      px =( b (1) - a ( 1 ) ) / 1 0 ;
      py =( b (2) - a ( 2 ) ) / 1 0 ;

      x (1)= a (1);
      y (1)= a (2);

      for i =2:11;
          x ( i )= x (i -1)+ px ;
          y ( i )= y (i -1)+ py ;
      end

      plot (x , y )

         Usando esta función, definimos la función plotobj8.
      f u n c t i o n []= p l o t o b j 8(A , D2 )

      n = size (A ,1);
      hold off

      for i =1: n ;
          for j = i : n ;
                if A (j , i )==1;
                      linea ( D2 (: , i ) , D2 (: , j ))
                      hold on
                end
          end
      end


b. Presente los gráficos del cubo en ambas perspectivas.
         Una vez definidas las matrices A, D, P 1 y P 2 en MATLAB, los gráficos del cubo en ambas
      perspectivas se generan con los comandos:
         >> plotobj8(A,P1*D)




                                                     6
1




       0.5




        0




      −0.5




       −1




      −1.5
         −1            −0.5                  0               0.5          1


>> plotobj8(A,P2*D)


        1

       0.8

       0.6

       0.4

       0.2

        0

      −0.2

      −0.4

      −0.6

      −0.8
        −0.8   −0.6   −0.4    −0.2       0       0.2   0.4    0.6   0.8   1




                                     7
2.5      Coordenadas Homogéneas
Observar que si la matriz de datos D para N puntos en 3D es una matriz 3 × N , la matriz de datos
de coordenadas homogéneas para los mismos puntos es una matriz 4 × N .

a. Escriba la matriz de datos de coordenadas homogéneas correspondiente a la matriz
   del cubo D.
          Esta nueva matriz se logra añadiendo     una fila de unos al final de la matriz D (agregando un
      1 a cada coordenada)                                                  
                                            0       0   0   0   1   1   1   1
                                           0       0   1   1   0   0   1   1
                                     DH = 0
                                                                             
                                                    1   0   1   0   1   0   1
                                            1       1   1   1   1   1   1   1

b. MATLAB Defina la matriz DH de coordenadas homogéneas para el cubo unitario.
         En MATLAB el código es:
         D=[0 0 0 1;0 0 1 1;0 1 0 1;0 1 1 1;1 0 0 1;1 0 1 1;1 1 0 1; 1 1 1 1]’
c. ¿Cuál es la matriz de transformación 4 × 4 para la traslación de un objeto 3D por un
   vector (x, y, z)t ?
         Se necesita que (a, b, c, 1) → (a + x, b + y, c + z, 1), lo cual se puede obtener multiplicando
                                                                    
                                          1 0 0 x          a        a+x
                                        0 1 0 y   b   b + y 
                                        0 0 1 z   c  =  c + z  ,
                                                                    

                                          0 0 0 1          1          1

      por tanto la matriz de transformación para la traslación es
                                                           
                                               1 0 0 x
                                             0 1 0 y 
                                             0 0 1 z  .
                                                           

                                               0 0 0 1

d. MATLAB Defina la función trvec(v) que utiliza el vector tridimensional v retorna la
   matriz 4 × 4 para la traslación de un objeto 3d por el vector v.
         El código de la función es:
      f u n c t i o n [ T ]= trvec ( v )

      T = eye (4);
      T (1:3 ,4)= v ;


e. ¿Cuál es la matriz de transformación 4 × 4 para la rotación de un objeto 3D alrededor
   del eje x en un ángulo θ?
          Se tiene que el vector e1 no se altera; el vector e2 rota hasta legar a la posición (0, cos θ, sen θ)
      y el vector e2 rota hasta legar a la posición (0, − sen θ, cos θ), la matriz de transformación para la
      rotación alrededor del eje x es                               
                                              1     0        0     0
                                            0 cos θ − sen θ 0
                                                                    .
                                            0 sen θ       cos θ   0
                                              0     0        0     1

 f. ¿Cuál es la matriz de transformación 4 × 4 para la rotación de un objeto 3D alrededor
    del eje y en un ángulo θ?
         Siguiendo un razonamiento similar al del literal anterior se tiene

                                             e1 → (cos θ, 0, sen θ)t

                                                        8
e2 → (0, 1, 0)t
                                                                    t
                                          e3 → (− sen θ, 0, cos θ) ,

  por tanto la matriz de transformación para      la rotación alrededor del eje y es
                                                                 
                                       cos θ       0 − sen θ 0
                                      0           1     0      0
                                                                 .
                                     sen θ        0 cos θ      0
                                         0         0     0      1

g. ¿Cuál es la matriz de transformación 4 × 4 para la rotación de un objeto 3D alrededor
   del eje z en un ángulo θ?
      Siguiendo un razonamiento similar al de los literales anteriores se tiene

                                          e1 → (cos θ, sen θ, 0)t
                                                                    t
                                          e2 → (− sen θ, cos θ, 0)
                                          e3 → (0, 0, 1)t ,

  por tanto la matriz de transformación para la rotación alrededor del eje z es
                                                           
                                       cos θ − sen θ 0 0
                                     sen θ    cos θ   0 0
                                                           .
                                      0         0     1 0
                                         0       0     0 1

h. MATLAB Definir las funciones rotx(t), roty(t) y rotz(t) que toman el ángulo t y
   retornan, cada una, una matriz de rotación 4 × 4 para un objeto 3d alrededor de los
   ejes x, y y z, respectivamente, en un ángulo t.
      El código de la función rotx(t) es:
   f u n c t i o n [ Rx ]= rotx ( t )

  Rx =[1 0 0 0;0 cos ( t ) - sin ( t ) 0;0 sin ( t ) cos ( t ) 0;0 0 0 1];

      El código de la función roty(t) es:
   f u n c t i o n [ Ry ]= roty ( t )

  Ry =[ cos ( t ) 0 - sin ( t ) 0;0 1 0 0; sin ( t ) 0 cos ( t ) 0;0 0 0 1];

      El código de la función rotz(t) es:
   f u n c t i o n [ Rz ]= rotz ( t )

  Rz =[ cos ( t ) - sin( t ) 0 0; sin ( t ) cos ( t ) 0 0;0 0 1 0;0 0 0 1];


i. ¿Cómo cambian las matrices de proyección cuando utilizamos coordenadas homogé-
   neas?
      Las matrices de proyección solo se alteran de la siguiente forma:

                                                        Pi    0
                                             P iH =             ,
                                                        0     1

  donde 0 es el vector de ceros del tamaño correspondiente, pues la cuarta coordenada del vector
  no se altera; por tanto las matrices de proyección con coordenadas homogéneas son:

                                                 P1 0
                                        P 1H =
                                                 0 1

                                                    9
 √         √           
                                                   − 3          3
                                                                    0 0
                                                   2          2
                                                                        
                                                =  −1
                                                   2         −12   1 0 ,
                                                                        
                                                     0         0    0 1
      y

                                                   P2 0
                                         P 2H =
                                                   0 1
                                                   √                     
                                                   − 22 1           0 0
                                                   √                  
                                                = − 2 0
                                                   2               1 0 .
                                                                       
                                                       0       0    0 1

 j. MATLAB Modificar las matrices de proyección P 1 y P 2 para que sirvan para proyectar
    a 2D los puntos en coordenadas homogéneas.
          Los códigos son:
      >> P1H=[-sqrt(3)/2 sqrt(3)/2 0 0; -1/2 -1/2 1 0;0 0 0 1]
      >> P2H=[-sqrt(2)/2 1 0 0;-sqrt(2)/2 0 1 0;0 0 0 1]

2.6       Graficar
Grafique en un solo gráfico 3 cubos trasladados y rotados en diferente manera, utilizando
cada proyección. Presente ambos gráficos.
   Borrando el comando hold off de nuestra función plotobj8 e ingresando los siguientes comandos
obtenemos los gráficos requeridos:
>> plotobj8(A,P1H*trvec([0 -1.5 -2])*rotx(pi/3)*roty(pi/3)*rotz(pi/3)*DH)
>> plotobj8(A,P1H*trvec([0 1 1])*rotx(pi/2)*roty(pi/3)*rotz(0)*DH)
>> plotobj8(A,P1H*trvec([0 -3 -2])*rotx(2*pi/3)*roty(2*pi/3)*rotz(pi/3)*DH).
   Nótese que la multiplicación de rotz(pi/3)*DH y todas las demás multiplicaciones de matrices,
generan los datos del cubo unidad, rotados o trasladados, por tanto el primer comando grafica un
cubo rotado π con respecto a cada eje, y luego trasladado por el vector (0, −1.5, −2)t, el resultado es:
             3


             2.5


               2


             1.5


               1


             0.5


               0


            −0.5


              −1


            −1.5
              −3.5   −3      −2.5   −2   −1.5     −1        −0.5     0        0.5   1   1.5




                                                       10
Para realizar la segunda proyección solo cambiamos P 1H por P 2H, es decir
>> plotobj8(A,P2H*trvec([0 -1.5 -2])*rotx(pi/3)*roty(pi/3)*rotz(pi/3)*DH)
>> plotobj8(A,P2H*trvec([0 1 1])*rotx(pi/2)*roty(pi/3)*rotz(0)*DH)
>> plotobj8(A,P2H*trvec([0 -3 -2])*rotx(2*pi/3)*roty(2*pi/3)*rotz(pi/3)*DH).
  Y el resultado es

           3

         2.5

           2

         1.5

           1

         0.5

           0

        −0.5

          −1

        −1.5

          −2
           −4         −3        −2         −1          0          1            2




                                                11

Mais conteúdo relacionado

Mais procurados (17)

4 Temas Adicionales De La Derivada
4 Temas Adicionales De La Derivada4 Temas Adicionales De La Derivada
4 Temas Adicionales De La Derivada
 
Aplicacion de la integral
Aplicacion de la integralAplicacion de la integral
Aplicacion de la integral
 
Derivadas
DerivadasDerivadas
Derivadas
 
Las derivadas
Las derivadasLas derivadas
Las derivadas
 
Ejercicios resueltos de derivadas
Ejercicios resueltos de derivadasEjercicios resueltos de derivadas
Ejercicios resueltos de derivadas
 
Ejercicios derivadas selectividad
Ejercicios derivadas selectividadEjercicios derivadas selectividad
Ejercicios derivadas selectividad
 
La Integral Indefinida
La  Integral IndefinidaLa  Integral Indefinida
La Integral Indefinida
 
Respuestas De Limites
Respuestas De LimitesRespuestas De Limites
Respuestas De Limites
 
4 la derivada por formulas
4 la derivada por formulas4 la derivada por formulas
4 la derivada por formulas
 
examen de calculo 1
examen de calculo 1examen de calculo 1
examen de calculo 1
 
Integral indefinida
Integral indefinida Integral indefinida
Integral indefinida
 
Respuestas.ejercicios
Respuestas.ejerciciosRespuestas.ejercicios
Respuestas.ejercicios
 
Matemática I - Derivadas (Aplicaciones)
Matemática I - Derivadas (Aplicaciones)Matemática I - Derivadas (Aplicaciones)
Matemática I - Derivadas (Aplicaciones)
 
Integrales
IntegralesIntegrales
Integrales
 
Dgb6 1 2_4 integración por sustitución trigonométrica
Dgb6 1 2_4 integración por sustitución trigonométricaDgb6 1 2_4 integración por sustitución trigonométrica
Dgb6 1 2_4 integración por sustitución trigonométrica
 
Algebra lineal problemas_resueltos
Algebra lineal problemas_resueltosAlgebra lineal problemas_resueltos
Algebra lineal problemas_resueltos
 
Derivada de una funcion2015
Derivada de una funcion2015Derivada de una funcion2015
Derivada de una funcion2015
 

Destaque

Delitos informaticos silvia 11
Delitos informaticos silvia 11Delitos informaticos silvia 11
Delitos informaticos silvia 11
Silvia Quintero
 
La nutrición en las plantas
La nutrición en las plantasLa nutrición en las plantas
La nutrición en las plantas
andrealokita
 
Biomoleculas 110407140506-phpapp02
Biomoleculas 110407140506-phpapp02Biomoleculas 110407140506-phpapp02
Biomoleculas 110407140506-phpapp02
lauraalejandra27-11
 
Diapositivas colombia aprende tematicas
Diapositivas colombia aprende tematicasDiapositivas colombia aprende tematicas
Diapositivas colombia aprende tematicas
aldemarfuentes
 
# 66 La Gracia de Dios - Nuevo Testamento
# 66 La Gracia de Dios -  Nuevo Testamento# 66 La Gracia de Dios -  Nuevo Testamento
# 66 La Gracia de Dios - Nuevo Testamento
Gabriela Mena
 

Destaque (20)

Robot angular en matlab
Robot angular en matlabRobot angular en matlab
Robot angular en matlab
 
Crea robot con matlab
Crea robot con matlabCrea robot con matlab
Crea robot con matlab
 
Delitos informaticos silvia 11
Delitos informaticos silvia 11Delitos informaticos silvia 11
Delitos informaticos silvia 11
 
Sin título 1 cadiz
Sin título 1 cadizSin título 1 cadiz
Sin título 1 cadiz
 
La nutrición en las plantas
La nutrición en las plantasLa nutrición en las plantas
La nutrición en las plantas
 
Clase # 04
Clase # 04Clase # 04
Clase # 04
 
SEGURIDAD EN REDES DE COMUNICACIONES EQ3
SEGURIDAD EN REDES DE COMUNICACIONES EQ3SEGURIDAD EN REDES DE COMUNICACIONES EQ3
SEGURIDAD EN REDES DE COMUNICACIONES EQ3
 
Netex learningCentral | Un LMS para gestionar toda la formación de tu empresa...
Netex learningCentral | Un LMS para gestionar toda la formación de tu empresa...Netex learningCentral | Un LMS para gestionar toda la formación de tu empresa...
Netex learningCentral | Un LMS para gestionar toda la formación de tu empresa...
 
Castilla puerto y central
Castilla puerto y centralCastilla puerto y central
Castilla puerto y central
 
Trabajo final romi
Trabajo final romiTrabajo final romi
Trabajo final romi
 
Taller atempra aes café terapéutico para empresarias
Taller atempra aes café terapéutico para empresariasTaller atempra aes café terapéutico para empresarias
Taller atempra aes café terapéutico para empresarias
 
Google maps
Google mapsGoogle maps
Google maps
 
Biomoleculas 110407140506-phpapp02
Biomoleculas 110407140506-phpapp02Biomoleculas 110407140506-phpapp02
Biomoleculas 110407140506-phpapp02
 
Trata de blanca..mari
Trata de blanca..mariTrata de blanca..mari
Trata de blanca..mari
 
Diapositivas colombia aprende tematicas
Diapositivas colombia aprende tematicasDiapositivas colombia aprende tematicas
Diapositivas colombia aprende tematicas
 
Semiconductores
SemiconductoresSemiconductores
Semiconductores
 
Ejercicio Inglés
Ejercicio InglésEjercicio Inglés
Ejercicio Inglés
 
# 66 La Gracia de Dios - Nuevo Testamento
# 66 La Gracia de Dios -  Nuevo Testamento# 66 La Gracia de Dios -  Nuevo Testamento
# 66 La Gracia de Dios - Nuevo Testamento
 
Netex learningCentral | What's New v6.4 [ES]
Netex learningCentral | What's New v6.4 [ES]Netex learningCentral | What's New v6.4 [ES]
Netex learningCentral | What's New v6.4 [ES]
 
Concierto
ConciertoConcierto
Concierto
 

Semelhante a Proyectofinalalgebra1 121017135312-phpapp02[1]

Semelhante a Proyectofinalalgebra1 121017135312-phpapp02[1] (20)

Capitulo1 suma de rimann
Capitulo1 suma de rimannCapitulo1 suma de rimann
Capitulo1 suma de rimann
 
Solsep02
Solsep02Solsep02
Solsep02
 
Polinomio2
Polinomio2Polinomio2
Polinomio2
 
Funcion primer grado
Funcion primer gradoFuncion primer grado
Funcion primer grado
 
Recta tangente normal y binormal
Recta tangente normal y binormalRecta tangente normal y binormal
Recta tangente normal y binormal
 
Form geom analítica
Form geom analíticaForm geom analítica
Form geom analítica
 
14 integral definida [graficas]
14 integral definida [graficas]14 integral definida [graficas]
14 integral definida [graficas]
 
Solucionparcial2 Cvusta2009 02
Solucionparcial2 Cvusta2009 02Solucionparcial2 Cvusta2009 02
Solucionparcial2 Cvusta2009 02
 
Solucionparcial2 Cvusta2009 02
Solucionparcial2 Cvusta2009 02Solucionparcial2 Cvusta2009 02
Solucionparcial2 Cvusta2009 02
 
Manual de calculo vectorial 2008
Manual de calculo vectorial 2008Manual de calculo vectorial 2008
Manual de calculo vectorial 2008
 
Expresiones algebraicas
Expresiones algebraicasExpresiones algebraicas
Expresiones algebraicas
 
Taller 2 Algebra_Lineal (Rectas y Planos)
Taller 2 Algebra_Lineal (Rectas y Planos)Taller 2 Algebra_Lineal (Rectas y Planos)
Taller 2 Algebra_Lineal (Rectas y Planos)
 
Solucionquiz3 Cvusta2009 02
Solucionquiz3 Cvusta2009 02Solucionquiz3 Cvusta2009 02
Solucionquiz3 Cvusta2009 02
 
Solucionquiz3 Cvusta2009 02
Solucionquiz3 Cvusta2009 02Solucionquiz3 Cvusta2009 02
Solucionquiz3 Cvusta2009 02
 
Solucionquiz3 Cvusta2009 02
Solucionquiz3 Cvusta2009 02Solucionquiz3 Cvusta2009 02
Solucionquiz3 Cvusta2009 02
 
Mat ii tema 05 geo puntos rectas y planos
Mat ii tema 05 geo puntos rectas y planosMat ii tema 05 geo puntos rectas y planos
Mat ii tema 05 geo puntos rectas y planos
 
Binomialandnormal
BinomialandnormalBinomialandnormal
Binomialandnormal
 
Hipérbolas equiláteras
Hipérbolas equiláterasHipérbolas equiláteras
Hipérbolas equiláteras
 
Rectas
RectasRectas
Rectas
 
Ecuaciones 2
Ecuaciones 2Ecuaciones 2
Ecuaciones 2
 

Proyectofinalalgebra1 121017135312-phpapp02[1]

  • 1. Universidad San Francisco de Quito Proyecto de Álgebra Lineal “Aplicaciones a Gráficos de Computadora” 8 de diciembre de 2010 1 Teoría 1.1 Proyecciones Uno de los principales problemas en el diseño gráfico es cómo dibujar objetos tridimensionales en el papel o en la pantalla del ordenador. O expresado de forma matemática: dado x = (x, y, z)t ∈ R3 , ¿qué coordenadas (x0 , y0 )t ∈ R2 debe tener el punto que representa a x en el plano? Es decir, tenemos una aplicación (proyección) P : R3 −→ R2 cuyo significado es el siguiente: P (x) es donde se tiene que dibujar el punto x. La proyección isométrica es muy usada en el diseño gráfico. Esta aplicación cumple: • Es una aplicación lineal. √ t √ t 3 1 3 1 • P (e1 ) = − 2 , −2 , P (e2 ) = 2 , −2 , P (e3 ) = (0, 1)t , donde {e1 , e2 , e3 } es la base canónica de R3 . a. Halle la matriz de esta aplicación en la bases canónicas. Llamemos B3 = e1 , e2 , e3 a la base de R3 , por tanto, la matriz relacionada a esta aplicación lineal es: AP = P (e1 ) P (e2 ) P (e3 ) , por tanto √ √ 3 3 − 2 2 0 P1 = . 1 1 −2 −2 1 b. Calcule P (x) para un punto arbitrario x en R3 Sea x ∈ R2 , por tanto x es de la forma x = (x, y, z)t , se tiene que P (x) = P 1x √ √   − 3 3 0 x 2 2 = y  1 1 −2 −2 1 z √ √ − 23 x + 23 y = . −2x − 1y + z 1 2 √ √ t 3 3 1 Por tanto, P (x) = − 2 x + 2 y, − 2 x − 1y + z . 2 1
  • 2. c. Calcule en núcleo de P y su dimensión, ¿Cuál es el significado geométrico del núcleo de P ? Para calcular el núcleo de P , caractericemos los x ∈ R2 tales que P (x) = 0 √ √ 3 3 1 1 P (x) = 0 ⇐⇒ − x+ y, − x − y + z = (0, 0) 2 2 2 2 √ √ 3 3 1 1 ⇐⇒ − x+ y=0 y − x− y+z =0 2 2 2 2 x+y ⇐⇒ −x + y = 0 y z = 2 x+y ⇐⇒ x = y y z = 2 2x ⇐⇒ x = y y z = 2 ⇐⇒ x = y y z = x ⇐⇒ x = y = z. Por tanto los elementos del núcleo de P son de la forma (a, a, a)t con a ∈ R, por tanto una base para en núcleo de P es {(1, 1, 1)t }, por ende, la dimension de núcleo de P es 1. Esto significa que los puntos que tienen todas sus coordenadas iguales van a ser proyectados en el origen del sistema coordenado. d. Dados dos puntos p y q de R3 , ¿qué condición necesaria y suficiente deben cumplir p y q para que sean dibujados en el mismo lugar? La condición necesaria y suficiente para que los puntos p y q de R3 se dibujen en el mismo lugar es que sus proyecciones sean las mismas, por tanto P (p) = P (q) ⇐⇒ P (p) − P (q) = 0 ⇐⇒ P (p − q) = 0, es decir si p − q pertenece al núcleo de P ; si definimos p = (p1 , p2 , p3 )t y q = (q1 , q2 , q3 )t , la condición necesaria y suficiente para dibujar estos puntos en el mismo lugar es que p1 − q1 = p2 − q2 = p3 − q3 . e. Los vértices del cubo unidad son (0, 0, 0)t , (0, 0, 1)t , (0, 1, 0)t , (0, 1, 1)t , (1, 0, 0)t , (1, 0, 1)t , (1, 1, 0)t , (1, 1, 1)t , ¿Qué figura geométrica resulta si proyectamos el cubo unidad? Hallemos primero las proyecciones de estos puntos: P (0, 0, 0)t = P 1 · (0, 0, 0)t = (0, 0)t P (0, 0, 1)t = P 1 · (0, 0, 1)t = (0, 1)t √ t t t 3 1 P (0, 1, 0) = P 1 · (0, 1, 0) = ,− 2 2 √ t t t 3 1 P (0, 1, 1) = P 1 · (0, 1, 1) = , 2 2 √ t t t 3 1 P (1, 0, 0) = P 1 · (1, 0, 0) = − ,− 2 2 √ t t t 3 1 P (1, 0, 1) = P 1 · (1, 0, 1) = − , 2 2 t P (1, 1, 0)t = P 1 · (1, 1, 0)t = (0, −1) t P (1, 1, 1)t = P 1 · (1, 1, 1)t = (0, 0) . 2
  • 3. Tenemos 6 coordenadas simétricas con respecto tanto al eje x como al eje y por tanto el gráfico obtenido es un hexágono regular1. f. Estudie qué proyección se ha de usar si se quiere dibujar el cubo unidad como se muestra: Para determinar esta proyección se tiene que estudiar las proyecciones de los vectores de la base canónica, por el gráfico se tiene que P2 (e3 ) P2 (e2 ) P2 (e1 ) √ √ t 2 2 Por lo tanto se tiene que P2 (e1 ) = − 2 ,− 2 , P2 (e2 ) = (1, 0)t , P2 (e3 ) = (0, 1)t , donde {e1 , e2 , e3 } es la base canónica de R3 . La matriz asociada a esta aplicación lineal es √ 2 − 2 1 0 P2 = √ . − 22 0 1 1.2 Coordenadas Homogéneas Problemas 15, 17, 19 de la sección 2.7 del texto Álgebra Lineal y sus Aplicaciones de David C. Lay. 1 1 1 1 15. ¿Qué vector en R3 tiene las coordenadas homogéneas 2 , − 4 , 8 , 24 ? t Se tiene que dado un vector (X, Y, Z, H) , este es el vector de coordenadas homogéneas para X Y Z t H, H, H , por tanto el vector de R3 tiene las coordenadas homogéneas 2 , − 4 , 1 , 24 es 1 1 8 1 1 1 1 t 2 −4 8 1 , 1 , 1 , 24 24 24 por tanto el vector de R3 es (12, −6, 3)t. 17. Proporcione la matriz de 4 × 4 que gira puntos en R3 alrededor del eje x a través de un ángulo de 60◦ . Primero, construyamos la matriz de 3 × 3 para la rotación. El vector e1 gira sobre si mismo y no se altera. El vector e2 gira 60◦ hacia arriba, deteniéndose en (0, cos 60◦ , sen 60◦ ). Y el vector e3 gira igualmente hasta detenerse en (0, − sen 60◦ , cos 60◦ ). Por tanto se tiene que la rotación da: e1 → (1, 0, 0)t 1 Esto se comprobará en la siguiente sección, al dibujas la proyección de este cubo. 3
  • 4. √ t 1 3 e2 → 0, , 2 2 √ t 3 1 e3 → 0, − , , 2 2 de donde, la matriz de rotación es 1 0 0    √  0 1 3  2 − 2 . √ 3 1 0 2 2 Por lo tanto, la matriz de rotación para las coordenadas homogéneas es   1 0 0 0  √  0 1 − 3 0 2 2 .    √ 0 3 1  2 2 0  0 0 0 1 19. Sea S el triángulo con vértices (4.3, 1.2, 4)t, (6, 4, 3)t , (2, 2, 6)t . Encuentre la imagen de S bajo la proyección en perspectiva con centro de proyección en (0, 0, 10)t Se tiene que la matriz de proyección de las coordenadas homogéneas es   1 0 0 0 0 1 0 0  . 0 0 0 0 1 0 0 − 10 1 Sean a = (4.3, 1.2, 4, 1)t, b = (6, 4, 3, 1)t , c = (2, 2, 6, 1)t las coordenadas homogéneas del triángulo S, se tiene que la proyección es t 21 6 3 P ·a = , , 0, 5 5 5 t 4 P · b = 6, 4, 0, 5 t 2 P · c = 2, 2, 0, . 5 Para obtener las coordenadas, realizamos el mismo proceso que en 15. (dividimos para la cuarta coordenada las otras tres) y obtenemos que las coordenadas de la proyección son (7, 2, 0), (7.5, 5, 0), (5, 5, 0). 2 Laboratorio El objetivo de esta parte es graficar, utilizando el comando plot (de dos dimensiones) de MATLAB, las proyecciones de objetos geométricos trasladados y rotados. Los objetos que se graficarán estarán formados únicamente por vértices y aristas. Instrucciones: Cada item tiene dos tipos de actividades: preguntas o problemas a resolver, y desarrollo en MATLAB. 2.1 Coordenadas a. Escriba la matriz de datos D para las coordenadas de los puntos del cubo unitario en 3D. (debe ser una matriz 3x8) 4
  • 5. Con los datos dados en la subsección 1.1, literal e, se tiene que la matriz es   0 0 0 0 1 1 1 1 D = 0 0 1 1 0 0 1 1 . 0 1 0 1 0 1 0 1 b. MATLAB: Crear la matriz de datos D para las coordenadas de los puntos del cubo unitario en 3D. En MATLAB el código es: >> D=[0 0 0;0 0 1;0 1 0;0 1 1;1 0 0;1 0 1;1 1 0; 1 1 1]’. 2.2 Aristas Una matriz de aristas A para un objeto (grafo o conjunto de N puntos) es la matriz N × N formada de ceros y unos tal que Ai,j = 1 si existe una arista entre los puntos i y j, y Ai,j = 0 si no existe arista entre dichos puntos. Como en nuestros gráficos ignoraremos el sentido de la arista y como Ai,j y Aj,i representan la misma arista, utilizaremos únicamente uno de ellos de modo que podemos hacer que A sea una matriz triangular. Además, no graficamos arista alguna desde un punto hacia sí mismo, lo cual quiere decir que Ai,i = 0. a. ¿Cuál es la matriz de aristas A para el cubo unitario? Si numeramos las aristas del cubo en el orden en el cual están ingresados en la matriz D, se tiene que 2 4 6 8 1 3 5 7 por tanto, la matriz de aristas es   0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0   1 0 0 0 0 0 0 0   0 1 1 0 0 0 0 0 A= 1 .  0 0 0 0 0 0 0 0 1 0 0 1 0 0 0   0 0 1 0 1 0 0 0 0 0 0 1 0 1 1 0 b. MATLAB: Crear la matriz de aristas A para el cubo unitario. En MATLAB el código es: >> A=[0 0 0 0 0 0 0 0;1 0 0 0 0 0 0 0;1 0 0 0 0 0 0 0;0 1 1 0 0 0 0 0; 1 0 0 0 0 0 0 0;0 1 0 0 1 0 0 0;0 0 1 0 1 0 0 0;0 0 0 1 0 1 1 0]. 2.3 Proyecciones a. MATLAB Definir las matrices (2 × 3) P 1 y P 2 correspondientes a las dos proyecciones estudiadas en la subsección 1.1. Las matrices P 1 y P 2 son las definidas en la subsección 1.1, en los literales a y f , y su código en MATLAB es >> P1=[-sqrt(3)/2 sqrt(3)/2 0; -1/2 -1/2 1] y >> P2=[-sqrt(2)/2 1 0;-sqrt(2)/2 0 1]. 5
  • 6. b. ¿Qué información nos da la matriz P 1 · D y P 2 · D? Estas matrices nos dan las coordenadas de los puntos del cubo ya proyectados en cada pers- pectiva. 2.4 Graficar Definir la función plotobj8(A,D2) que utiliza la matriz de aristas A y la matriz 2 × 8 de datos D2 que grafica las aristas entre los puntos especificados por la matriz de aristas. a. Presentar el código de la función plotobj8. Definimos primero la función linea que toma dos vectores de R2 y dibuja la linea que pasa por estos puntos. f u n c t i o n []= linea (a , b ) px =( b (1) - a ( 1 ) ) / 1 0 ; py =( b (2) - a ( 2 ) ) / 1 0 ; x (1)= a (1); y (1)= a (2); for i =2:11; x ( i )= x (i -1)+ px ; y ( i )= y (i -1)+ py ; end plot (x , y ) Usando esta función, definimos la función plotobj8. f u n c t i o n []= p l o t o b j 8(A , D2 ) n = size (A ,1); hold off for i =1: n ; for j = i : n ; if A (j , i )==1; linea ( D2 (: , i ) , D2 (: , j )) hold on end end end b. Presente los gráficos del cubo en ambas perspectivas. Una vez definidas las matrices A, D, P 1 y P 2 en MATLAB, los gráficos del cubo en ambas perspectivas se generan con los comandos: >> plotobj8(A,P1*D) 6
  • 7. 1 0.5 0 −0.5 −1 −1.5 −1 −0.5 0 0.5 1 >> plotobj8(A,P2*D) 1 0.8 0.6 0.4 0.2 0 −0.2 −0.4 −0.6 −0.8 −0.8 −0.6 −0.4 −0.2 0 0.2 0.4 0.6 0.8 1 7
  • 8. 2.5 Coordenadas Homogéneas Observar que si la matriz de datos D para N puntos en 3D es una matriz 3 × N , la matriz de datos de coordenadas homogéneas para los mismos puntos es una matriz 4 × N . a. Escriba la matriz de datos de coordenadas homogéneas correspondiente a la matriz del cubo D. Esta nueva matriz se logra añadiendo una fila de unos al final de la matriz D (agregando un 1 a cada coordenada)   0 0 0 0 1 1 1 1 0 0 1 1 0 0 1 1 DH = 0  1 0 1 0 1 0 1 1 1 1 1 1 1 1 1 b. MATLAB Defina la matriz DH de coordenadas homogéneas para el cubo unitario. En MATLAB el código es: D=[0 0 0 1;0 0 1 1;0 1 0 1;0 1 1 1;1 0 0 1;1 0 1 1;1 1 0 1; 1 1 1 1]’ c. ¿Cuál es la matriz de transformación 4 × 4 para la traslación de un objeto 3D por un vector (x, y, z)t ? Se necesita que (a, b, c, 1) → (a + x, b + y, c + z, 1), lo cual se puede obtener multiplicando      1 0 0 x a a+x 0 1 0 y   b   b + y  0 0 1 z   c  =  c + z  ,      0 0 0 1 1 1 por tanto la matriz de transformación para la traslación es   1 0 0 x 0 1 0 y  0 0 1 z  .   0 0 0 1 d. MATLAB Defina la función trvec(v) que utiliza el vector tridimensional v retorna la matriz 4 × 4 para la traslación de un objeto 3d por el vector v. El código de la función es: f u n c t i o n [ T ]= trvec ( v ) T = eye (4); T (1:3 ,4)= v ; e. ¿Cuál es la matriz de transformación 4 × 4 para la rotación de un objeto 3D alrededor del eje x en un ángulo θ? Se tiene que el vector e1 no se altera; el vector e2 rota hasta legar a la posición (0, cos θ, sen θ) y el vector e2 rota hasta legar a la posición (0, − sen θ, cos θ), la matriz de transformación para la rotación alrededor del eje x es   1 0 0 0 0 cos θ − sen θ 0  . 0 sen θ cos θ 0 0 0 0 1 f. ¿Cuál es la matriz de transformación 4 × 4 para la rotación de un objeto 3D alrededor del eje y en un ángulo θ? Siguiendo un razonamiento similar al del literal anterior se tiene e1 → (cos θ, 0, sen θ)t 8
  • 9. e2 → (0, 1, 0)t t e3 → (− sen θ, 0, cos θ) , por tanto la matriz de transformación para la rotación alrededor del eje y es   cos θ 0 − sen θ 0  0 1 0 0  . sen θ 0 cos θ 0 0 0 0 1 g. ¿Cuál es la matriz de transformación 4 × 4 para la rotación de un objeto 3D alrededor del eje z en un ángulo θ? Siguiendo un razonamiento similar al de los literales anteriores se tiene e1 → (cos θ, sen θ, 0)t t e2 → (− sen θ, cos θ, 0) e3 → (0, 0, 1)t , por tanto la matriz de transformación para la rotación alrededor del eje z es   cos θ − sen θ 0 0 sen θ cos θ 0 0  .  0 0 1 0 0 0 0 1 h. MATLAB Definir las funciones rotx(t), roty(t) y rotz(t) que toman el ángulo t y retornan, cada una, una matriz de rotación 4 × 4 para un objeto 3d alrededor de los ejes x, y y z, respectivamente, en un ángulo t. El código de la función rotx(t) es: f u n c t i o n [ Rx ]= rotx ( t ) Rx =[1 0 0 0;0 cos ( t ) - sin ( t ) 0;0 sin ( t ) cos ( t ) 0;0 0 0 1]; El código de la función roty(t) es: f u n c t i o n [ Ry ]= roty ( t ) Ry =[ cos ( t ) 0 - sin ( t ) 0;0 1 0 0; sin ( t ) 0 cos ( t ) 0;0 0 0 1]; El código de la función rotz(t) es: f u n c t i o n [ Rz ]= rotz ( t ) Rz =[ cos ( t ) - sin( t ) 0 0; sin ( t ) cos ( t ) 0 0;0 0 1 0;0 0 0 1]; i. ¿Cómo cambian las matrices de proyección cuando utilizamos coordenadas homogé- neas? Las matrices de proyección solo se alteran de la siguiente forma: Pi 0 P iH = , 0 1 donde 0 es el vector de ceros del tamaño correspondiente, pues la cuarta coordenada del vector no se altera; por tanto las matrices de proyección con coordenadas homogéneas son: P1 0 P 1H = 0 1 9
  • 10.  √ √  − 3 3 0 0  2 2  =  −1  2 −12 1 0 ,  0 0 0 1 y P2 0 P 2H = 0 1  √  − 22 1 0 0  √  = − 2 0  2 1 0 .  0 0 0 1 j. MATLAB Modificar las matrices de proyección P 1 y P 2 para que sirvan para proyectar a 2D los puntos en coordenadas homogéneas. Los códigos son: >> P1H=[-sqrt(3)/2 sqrt(3)/2 0 0; -1/2 -1/2 1 0;0 0 0 1] >> P2H=[-sqrt(2)/2 1 0 0;-sqrt(2)/2 0 1 0;0 0 0 1] 2.6 Graficar Grafique en un solo gráfico 3 cubos trasladados y rotados en diferente manera, utilizando cada proyección. Presente ambos gráficos. Borrando el comando hold off de nuestra función plotobj8 e ingresando los siguientes comandos obtenemos los gráficos requeridos: >> plotobj8(A,P1H*trvec([0 -1.5 -2])*rotx(pi/3)*roty(pi/3)*rotz(pi/3)*DH) >> plotobj8(A,P1H*trvec([0 1 1])*rotx(pi/2)*roty(pi/3)*rotz(0)*DH) >> plotobj8(A,P1H*trvec([0 -3 -2])*rotx(2*pi/3)*roty(2*pi/3)*rotz(pi/3)*DH). Nótese que la multiplicación de rotz(pi/3)*DH y todas las demás multiplicaciones de matrices, generan los datos del cubo unidad, rotados o trasladados, por tanto el primer comando grafica un cubo rotado π con respecto a cada eje, y luego trasladado por el vector (0, −1.5, −2)t, el resultado es: 3 2.5 2 1.5 1 0.5 0 −0.5 −1 −1.5 −3.5 −3 −2.5 −2 −1.5 −1 −0.5 0 0.5 1 1.5 10
  • 11. Para realizar la segunda proyección solo cambiamos P 1H por P 2H, es decir >> plotobj8(A,P2H*trvec([0 -1.5 -2])*rotx(pi/3)*roty(pi/3)*rotz(pi/3)*DH) >> plotobj8(A,P2H*trvec([0 1 1])*rotx(pi/2)*roty(pi/3)*rotz(0)*DH) >> plotobj8(A,P2H*trvec([0 -3 -2])*rotx(2*pi/3)*roty(2*pi/3)*rotz(pi/3)*DH). Y el resultado es 3 2.5 2 1.5 1 0.5 0 −0.5 −1 −1.5 −2 −4 −3 −2 −1 0 1 2 11