Vous êtes sur la page 1sur 7

Isometras

Prctica de lgebraLineal, E.U.A.T., Grupos 1A y 1B, 2005


Una isometra es un tipo especial de aplicacin lineal: es una aplicacin lineal que "mueve las cosas rgidamente". Precisa-
mente, una aplicacin lineal f de un espacio vectorial V en V es una isometra cuando, para cualesquiera vectores u,v de V,
se cumple que <f(u),f(v)>=<u,v> (trataremos siempre con el producto escalar usual). Como se ha visto en teora, esto
significa que una isometra no "deforma" las cosas; puede girarlas en torno a un punto o una recta, reflejarlas, o las dos
cosas a la vez, pero no puede, por ejemplo, "aplastarlas".
En esta prctica vamos a construir algunas isometras; es decir, vamos a dar la matriz que las representa, de forma que
podamos dar la imagen por la isometra de cualquier vector que queramos. Lo haremos de una forma u otra dependiendo del
tipo de isometra. Slo trataremos las isometras en dos y tres dimensiones (en R2 y en R3), que son las que podemos
imaginar ms fcilmente. Para entender esta prctica es necesario entender bien la prctica sobre aplicaciones lineales.
Matrices ortogonales
La matriz de una isometra en una base ortonormal tiene una propiedad curiosa: su inversa es igual que su traspuesta. La
matrices que cumplen esto se llaman matrices ortogonales. Cuando calculemos la matriz en la base usual de varias
isometras en los apartados siguientes,podris comprobar que son verdaderamente matrices ortogonales.
Isometras en el plano
Una rotacin
Para hablar de rotaciones siempre tomaremos los ngulos en radianes: un ngulo de t radianes corresponde a t*360/(2*Pi)
grados. Por ejemplo, Pi radianes son 180 (media vuelta), Pi/3 radianes son 60...
La matriz de una rotacin (siempre con respecto al origen, ya que aqu tratamos slo con aplicaciones lineales, para las que
f(0)=0) es muy simple. Si el ngulo de la rotacin, en sentido contrario a las agujas del reloj, es t (en radianes), entonces su
matriz es
In[1]:= rotacion={{Cos[t],Sin[t]},{Sin[t],Cos[t]}};
MatrixForm[rotacion]
Out[2]//MatrixForm=

Cos[t] Sin[t]
Sin[t] Cos[t]

Desde luego, para hallar la matriz de una rotacin en el sentido de las agujas del reloj no hay ms que tomar t negativo.
Por ejemplo, la matriz de una rotacin de ngulo Pi/3 (en radianes) es:
IsometriasJ.nb 1
In[3]:= t Pi3;
rotacion MatrixForm
Out[4]//MatrixForm=

2

_
3

2
_
3

2
1

2
|

Desde luego, usando la matriz podemos calcular la imagen de cualquier punto:


In[5]:= rotacion.2, 5
Out[5]= 1
5
_
3

2
,
5

2

_
3
Comprobamos que la matriz de la rotacin es ortogonal:
In[6]:= Inverserotacion Transposerotacion
Out[6]= True
Podemos dibujar la imagen de unos cuantos puntos para convencernos de que de verdad es una rotacin (lo siguiente es slo
para poder ver bien qu es lo que hace la rotacin):
In[7]:= puntos 1, 0, .5, 1, 1.5, .5, 1.5, .5, .5, 1, 1, 0
Out[7]= {{1, 0], {0.5, 1], {1.5, 0.5], {1.5, 0.5], {0.5, 1], {1, 0]]
In[8]:= dibujo ListPlotpuntos, PlotJoined True, AspectRatio Automatic
-1 -0.5 0.5 1 1.5
-1
-0.5
0.5
1
Out[8]= Graphics
IsometriasJ.nb 2
In[9]:= ListPlotTablerotacion.puntosi, i, 1, 6,
PlotJoined True, AspectRatio Automatic
-1 -0.5 0.5 1
-0.5
0.5
1
1.5
Out[9]= Graphics
Una simetra
Queremos encontrar la matriz de una simetra S con respecto a una recta. Por ejemplo, tomemos la recta 3xy=0.Un vector
director (un vector a lo largo de la recta) es por ejemplo (1,3), y como lo que hace una simetra el plano es "reflejar" sobre la
recta de la que se trate, vemos que S(1,3) = (1,3) (porque la recta no se mueve). Por otra parte, un vector perpendicular a la
recta es (3,1)(cualquier vector perpendicular a (1,3) vale, claro). Como los vectores pependiculares a la recta se reflejan,
sabemos que S(3,1)=(3,1).Con esto ya sabemos la matriz de S en la base {(1,3),(3,1)}.Es
In[10]:= matriz1 Transpose1, 0, 0, 1
Out[10]= {{1, 0], {0, 1]]
Para calcular ahora la matriz de la simetra con respecto a la base usual no hay ms que multiplicar por las matrices de
cambio de base adecuadas (recordad la prctica sobre aplicaciones lineales):
In[11]:= cambio Transpose1, 3, 3, 1;
matriz2 cambio.matriz1.Inversecambio;
In[13]:= MatrixFormmatriz2
Out[13]//MatrixForm=

5
3

5
3

5
4

5
|

Probamos a reflejar el dibujo de antes:


IsometriasJ.nb 3
In[14]:= larecta Plot3x, x, .5, .5, DisplayFunction Identity;
reflejado ListPlotTablematriz2.puntosi, i, 1, 6, PlotJoined True,
AspectRatio Automatic, PlotStyle RGBColor0, 0, 1, Dashing.02, .02,
DisplayFunction Identity; Showdibujo, larecta, reflejado,
DisplayFunction $DisplayFunction, AspectRatio Automatic
-1.5 -1 -0.5 0.5 1 1.5
-1.5
-1
-0.5
0.5
1
1.5
Out[15]= Graphics
Isometras en el espacio de tres dimensiones
Rotacin de ngulo t respecto a una recta
Seguiremos la misma idea que antes: hallamos la matriz de la rotacin respecto de una base particularmente fcil, y luego
cambiamos a la base usual. Supongamos, por ejemplo, que queremos calcular la rotacin de ngulo Pi/2 en torno a la recta
generada por el vector (1,2,1)(no nos preocuparemos de en qu direccin queremos hacer la rotacin para simplificar la
idea). Si R es la rotacin que buscamos, sabemos que R(1,2,1)=(1,2,1) (porque al girar alrededor de la recta, la recta no
cambia). Si encontramos dos vectores ortonormales y perpendiculares a la recta, sabemos que R acta sobre estos vectores
como una rotacin en dos dimensiones (que hemos calculado antes). Busquemos estos dos vectores:
In[16]:= NullSpace1, 2, 1
Out[16]= {{1, 0, 1], {2, 1, 0]]
Esto nos da una base del subespacio de vectores perpendiculares a la recta. Necesitamos adems que la base sea ortonormal
(en la que sabemos la matriz de la rotacin): para eso podemos, por ejemplo, quedarnos con el (1,0,1) y calcular un vector
perpendicular a este vector y a la recta (podis usar la ortogonalizacin de GramSchmidtsi queris):
In[17]:= Solve1, 0, 1.x, y, z 0, 1, 2, 1.x, y, z 0
Solve::svars : Equations may not give solutions for all "solve" variables.
Out[17]= {{x z, y z]]
IsometriasJ.nb 4
As que un posible vector es (1,1,1). Entonces normalizamos los vectores (los dividimos por su norma para que tengan
norma 1) y tenemos una base en la que es fcil calcular la matriz de R:
In[18]:= El vector director de la recta u1 1, 2, 1Sqrt1^2 2^2 1^2;
Un vector perpendicular
u2 1, 0, 1Sqrt1^2 0^2 1^2;
Otro vector perpendicular a la recta, y tambin al anterior
u3 1, 1, 1Sqrt1^2 1^2 1^2;
La matriz en esta base es (ya que sabemos que R(u1)=u1, y que R acta sobre u2, u3 como una rotacin en 2D):
In[21]:= t Pi2; rotacion1 Transpose1, 0, 0, 0, Cost, Sint, 0, Sint, Cost;
MatrixFormrotacion1
Out[22]//MatrixForm=

1 0 0
0 0 1
0 1 0
|

Ahora podemos, como antes, calcular la matriz de R en la base usual:


In[23]:= Matriz de cambio de la base u1,u2,u3 a la base usual
cambio Transposeu1, u2, u3;
La matriz de R en la base usual
rotacion2 cambio.rotacion1.Inversecambio
MatrixFormrotacion2
Out[24]=
1

6
,
1

3

1

_
6
,
1

6
_
2

3
,
1

3

1

_
6
,
2

3
,
1

3

1

_
6
,
1

6
_
2

3
,
1

3

1

_
6
,
1

6

Out[25]//MatrixForm=

6
1

3

1

_
6

1

6

_ 2

3
1

3

1

_
6
2

3

1

3

1

_
6

6

_ 2

3

1

3

1

_
6
1

6
|

Podis comprobar que su matriz es ortogonal (ved que lo siguiente es la traspuesta de lo anterior):
In[26]:= Inverserotacion2 MatrixForm
Out[26]//MatrixForm=

6
1

3

1

_
6

1

6

_ 2

3
1

3

1

_
6
2

3

1

3

1

_
6

6

_ 2

3

1

3

1

_
6
1

6
|

Simetra respecto a un plano


Para calcular la simetra con respecto a un plano (en la base cannica) podemos hacer algo parecido: elegimos una base que
tenga un vector perpendicular al plano y dos vectores del plano, y entonces es muy fcil calcular su matriz en esta base;
luego pasamos a la base cannica.
Calculemos, por ejemplo, la simetra respecto al plano dado por x+y+2z=0. Un vector perpendicular es (1,1,2) (se ve a ojo,
son los coeficientes). Conseguir una base del plano es fcil:
IsometriasJ.nb 5
In[27]:= Solvex y 2z 0, x, y, z
Solve::svars : Equations may not give solutions for all "solve" variables.
Out[27]= {{x y 2 z]]
Por ejemplo, (1,1,0)y (2,0,1)sirven. Escogemos la base {u1,u2,u3}, con:
In[28]:= u1 1, 1, 2
u2 1, 1, 0
u3 2, 0, 1
Out[28]= {1, 1, 2]
Out[29]= {1, 1, 0]
Out[30]= {2, 0, 1]
La matriz en esta base es (sabiendo que S(u1)=u1,S(u2)=u2, S(u3)=u3):
In[31]:= simetria1 Transpose1, 0, 0, 0, 1, 0, 0, 0, 1
Out[31]= {{1, 0, 0], {0, 1, 0], {0, 0, 1]]
La matriz en la base usual se obtiene como antes:
In[32]:= cambio Transposeu1, u2, u3;
simetria2 cambio.simetria1.Inversecambio;
MatrixFormsimetria2
Out[34]//MatrixForm=

3

1

3

2

3
2

3

2

3

2

3

1

3
|

Podemos comprobar que simetria2 hace lo que debe con los vectores que escogimos antes como base:
In[35]:= simetria2.u1
Out[35]= {1, 1, 2]
In[36]:= simetria2.u2
Out[36]= {1, 1, 0]
In[37]:= simetria2.u3
Out[37]= {2, 0, 1]
Ejercicios
Todas las matrices que se pida calcular a continuacin se refieren a la matriz en la base cannica del espacio
correspondiente.
IsometriasJ.nb 6
1. Es la siguiente matriz ortogonal?
{{1,2,3},{0,2,1},{2,1,7}}
2. Cul es la matriz de la simetra con respecto al eje vertical en R2?
3. Cul es la matriz de la rotacin en R2 de media vuelta en el sentido de las agujas del reloj?
4. Calcula la matriz de la rotacin en tres dimensiones de ngulo Pi/4 alrededor de la recta de ecuaciones {x
y=0,x+y+2z=0}.
5. Calcula la matriz de la simetra respecto al plano x=2y en R3.
IsometriasJ.nb 7

Vous aimerez peut-être aussi