Isometrías.

Clear["Global`*"]

Estudiaremos las isometrías en el plano y en el espacio.

Isometrías.

Estudiaremos las isometrías de los espacios vectoriales euclideos (ℝ^2) y (ℝ^3). En general, un espacio vectorial euclideo es un espacio vectorial provisto de un producto escalar.

En Mathematica podemos calcular el producto escalar usual de dos vectores de (ℝ^n) empleando un punto, de forma que <u, v> se calcula u.v . Como ejemplo calculamos el producto escalar de dos vectores de (ℝ^2) y de dos vectores de (ℝ^3.)

{1, 1} . {1, -1}

{1, 2, 1} . {1, -1, 0}

El producto escalar sirve para hallar la norma de un vector, como en el siguiente ejemplo, en el que se comprueba que el vector {1, 2, 2} tiene norma igual a 3.

v = {1, 2, 2};
Normav = Sqrt[v . v]

Ejercicio: Halle el producto escalar de los vectores {1, -1, 0} y {0, 1, -1}. Halle la norma del vector {1, -1, 0}.

Dados dos vectores v y w de un espacio euclídeo, podemos calcular el ángulo α que forman mediante el producto escalar, ya que

cos α=v . 
                (w/(Sqrt[||v||.||w||]))

Con la siguiente instrucción obtenemos, en radianes, el ángulo que forman los vectores {1, 0, 5/(Sqrt[11])} y {0, -4, 3}.

alpha = 
      ArcCos[{1, 0, 5/Sqrt[11]} . {0, -4, 3}/((Sqrt[{1, 0, 5/Sqrt[11]} . {1, 0, 5/Sqrt[11]}])*(Sqrt[{0, -4, 3} . {0, -4, 3}]))]

Dos vectores se dicen ortogonales (perpendiculares) si su producto escalar vale cero.

Ejercicio: Compruebe que los vectores v = {1, 2, 3} y w = {2, -1, 0} son ortogonales. Halle el ángulo que forman v y w.

Una isometría es una aplicación que conserva el producto escalar, es decir que <f(u), f(v)> = <u, v>. En particular, una isometría conserva la norma de un vector, esto es ||f(v)|| = ||v||, y también conserva ángulos.

Antes de dar un criterio que permita decidir si una aplicación lineal de V a V es isometría, debemos saber que una matriz A se dice ortogonal si cumple que la inversa de A es igual a la traspuesta de A, es decir que (A^t)=(A^(-1)), o lo que es lo mismo, si  (A^t) . A  = I.

Puede saberse si una aplicación lineal f : V ⟶ V, es decir un endomorfismo, es isometría estudiando la matriz de la aplicación respecto de una base ortonormal B, ya que f será isometría si y sólo si su matriz respecto de B es una matriz ortogonal.

Por ejemplo, si una aplicación lineal de  (ℝ^3) a  (ℝ^3), tiene la siguiente matriz respecto de las bases canónicas (que son ortonormales),

Mf=(({{1/3, -2/3, -2/3}, {-2/3, 1/3, -2/3}, {-2/3, -2/3, 1/3}}))

para comprobar si la aplicación es una isometría debemos comprobar si la matriz de la aplicación es ortogonal.

Transpose[Mf] . Mf

Puesto que la matriz respecto de bases ortonormales es una matriz ortogonal, la aplicación es una isometría.

Ejercicio: Compruebe si es una isometría la aplicación cuya matriz respecto de las bases canónicas es {{-1/(Sqrt[3]), 0, (Sqrt[2])}, {(Sqrt[2/3]), 0, 1}, {0, (Sqrt[2]), 0}}.

Construcción de isometrías en el plano: Rotación/Giro.

Para hallar la matriz de una aplicación lineal, en particular de una isometría, basta tener la imagen por la aplicación de una base. Así para hallar la matriz de un giro en el plano, basta con saber cual es la imagen del vector {1, 0} y del vector {0, 1}, es decir, saber qué vectores se obtienen al girar los vectores {1, 0} y {0, 1}.

Si giramos el vector {1, 0} un ángulo de t radianes en el sentido contrario a las agujas del reloj, resulta el vector {Cos [t], Sin[t]} , y al girar el vector {0, 1} se obtiene el vector {- Sin[t], Cos[t]}, es decir que la isometría que buscamos verifica que f(1, 0) = {Cos [t], Sin [t]}, y f(0, 1) = {- Sin[t], Cos[t]}. Poniendo las imágenes de una base por columnas, se tiene que la matriz de la isometría es

Mgiro=(({{Cos[t], -Sin[t]}, {Sin[t], Cos[t]}}))

Por ejemplo la matriz de un giro de Pi radianes sería

Mgiro /. t -> Pi

Como la base formada por los vectores (1, 0) y (0, 1) es una base ortonormal, comprobamos que la matriz es ortogonal calculando su traspuesta y su inversa, y viendo que son iguales.

Transpose[Mgiro]

Simplify[Inverse[Mgiro]]

Ejercicio: Halle la matriz de la isometría del plano que es un giro de Pi/3 radianes. Use la matriz obtenida para hallar el punto que resulta al aplicar el giro al punto (x, y) = (3, 2).

Es facil comprobar que si componemos la isometría que gira un ángulo alfa con la isometría que gira un ángulo beta, se obtiene el giro de ángulo alfa+beta .

Clear[alpha]

M = (Mgiro /. t -> alpha) . (Mgiro /. 
            t -> beta)

MatrixForm[ Simplify[M] ]

Construcción de isometrías en el plano: Simetría respecto de una recta.

En primer lugar nos planteamos construir la matriz de la aplicación lineal f que es la simetría respecto de la recta y = 0, para lo cual hallamos la imagen de una base adecuada del plano. Consideramos la base canónica formada por e1 = {1, 0}, e2 = {0, 1}. Como e1 es un vector director de la recta y = 0, la simetría transforma e1 en e1, es decir f(e1) = e1. El vector e2 es perpendicular a la recta y = 0, y el vector simétrico a e2 es - e2, es decir, la simetría cambia de signo al vector e2, con lo que f(e2) = - e2.

Como sabemos cómo actúa la aplicación f sobre una base, podremos dar la matriz de la aplicación en dicha base.

(({{1, 0}, {0, -1}}))

Para construir la matriz de una simetría respecto a una recta cualquiera consideramos una base ortonormal formada por un vector director de la recta, y un vector perpendicular a la recta. La simetría deja invariante el vector director de la recta, y cambia de signo el vector perpendicular a la recta. Si v1 es un vector director de la recta y v2 es vector perpendicular, se tiene que f(v1) = v1 y f(v2) = - v2.

Por tanto la matriz de la simetría, respecto de la base ortonormal B1 = {v1, v2} en el espacio de partida y en el de llegada, es

Msim = {{1, 0}, {0, -1}}

Para obtener la matriz de la simetría respecto de la base canónica, usaremos la matriz de cambio de base de B1 a la base canónica.

Por ejemplo, para calcular la matriz respecto de las bases canónicas de una simetría respecto de la recta y = 3x, calculamos en primer lugar un vector v1 de norma 1 que esté en la recta. El vector (1, 3) es un vector director de la recta, para tener un vector de norma 1, dividimos el vector (1, 3) por su norma.

v = {1, 3}
normav = Sqrt[{1, 3} . {1, 3}]
v1 = v/normav

Para tener v2, necesitamos un vector perpendicular a v1, con norma 1, para lo cual vamos a cambiar el orden de las coordenadas de v1, y cambiaremos de signo una de las coordenadas.

v2 = {-3/Sqrt[10], 1/Sqrt[10]}

Comprobamos que v2 tiene norma 1 y es perpendicular a v1.

Sqrt[v2 . v2]
v1 . v2

Con v1 y v2 podemos definir la base B1.

B1 = {v1, v2}

Una vez definida la base B1, podemos hallar las matrices de cambio de base de B1 a la base canónica y de la base canónica a B1.

DeB1aBC = Transpose[B1]

DeBCaB1 = Inverse[Transpose[B1]]

Comprobamos que como B1 es base ortonormal, la matriz B1 es una matriz ortogonal y por eso la traspuesta de B1 coincide con la inversa de B1, de donde la inversa de la traspuesta de B1 es la misma B1.

Con las matrices de cambio de base podemos definir, respecto de las bases canónicas, la matriz de la simetría respecto de la recta y = 3x.

MsimBC = DeB1aBC . Msim . DeBCaB1

Al construir la matriz de la isometría respecto de las bases canónicas, se podría haber usado una base ortogonal. Al considerar una base ortonormal, se evita calcular la inversa para hallar las matrices de cambio de base.

Ejercicio: Considere la simetría respecto de la recta y = 3x, así como su matriz respecto de las bases canónicas. Compruebe que dicha matriz es ortogonal.

Ejercicio: Halle la matriz, respecto de las bases canónicas, de la simetría respecto de la recta y = 5x .

Construcción de isometrías en el espacio: Simetría respecto de un plano.

En esta sección vamos a hallar la matriz de la simetría respecto de un plano de (ℝ^3). Para ello partimos de {v1, v2} un conjunto de generadores del plano, y de un vector v3, perpendicular al plano y de norma 1, de forma que la base {v1, v2, v3} sea una base ortonormal.

Si llamamos f a la simetría respecto del plano generado por los vectores v1 y v2, se tiene que f deja invariantes a los vectores del plano, esto es f(v1) = v1 y f(v2) = v2. Además, la simetría f transforma el vector v3 en su simétrico, por lo que f(v3) = - v3. Con esto, podemos dar la matriz de la simetría respecto de la base {v1, v2, v3}.

Msim = {{1, 0, 0}, {0, 1, 0}, {0, 0, -1}}

Para tener la matriz de la simetría respecto de determinado plano en la base canónica podemos hallar una base ortonormal B1 que contenga unos generadores del plano y un vector perpendicular al plano. Con esta base, podremos obtener la matriz de cambio de base de B1 a la base canónica, y a partir de ésta y de la matriz de la simetría respecto de la base B1, podremos hallar la matriz que buscamos.

Como ejemplo, hallamos la matriz de la simetría respecto del plano x+y+z = 0. En primer lugar, buscamos dos vectores ortogonales que generen el plano, para lo cual debemos partir de dos vectores que generen el plano.

Para buscar dos vectores que generen el plano x+y+z = 0, podemos dar valores a la x y a la y para poder despejar z. En este caso concreto, si hacemos x = 1, y = 0, se tiene z = -1, y si x = 0, y = 1, entonces z = -1, con lo que tendríamos los vectores {1, 0, -1} y {0, 1, -1}. También podrían haberse obtenido generadores del plano usando la orden Solve, como se hizo en la práctica anterior al calcular una base de un subespacio vectorial.

A partir de los vectores {1, 0, -1} y {0, 1, -1} obtenemos vectores ortogonales usando el método de Gram-Schmidt. La siguiente expresión nos dará un vector ortogonal a {1, 0, -1} y que, como es combinación de los generadores del plano, también pertenece al plano.

g1 = {1, 0, -1}
g2 = {0, 1, -1}

w2 = g2 - g2 . (g1/g1) . g1 g1

Normalizamos los dos vectores,

v1 = (g1/(Sqrt[g1 . g1]))

v2 = (w2/(Sqrt[w2 . w2]))

Para tener una base ortogonal de (ℝ^3) necesitamos un vector perpendicular al plano (y por tanto perpendicular a v1 y v2) que tenga norma 1. Podríamos emplear el método de Gram-Schmidt, pero hallaremos el vector perpendicular al plano x+y+z = 0 a partir de los coeficientes de la x, de la y y de la z, es decir g3 = {1, 1, 1}, con lo que el vector que completa la base es v3:

g3 = {1, 1, 1}

v3 = (g3/(Sqrt[g3 . g3]))

Comprobamos que la base formada por estos tres vectores es ortonormal

B1 = {v1, v2, v3}

Transpose[B1] . B1

Usando Msim, la matriz de la simetría en la base B1, y las matrices de cambio de base de B1 a la base canónica y de la base canónica a la base B1, tenemos la matriz de la simetría respecto de la base canónica.

DeB1aBC = Transpose[B1]

DeBCaB1 = B1

MsimBC = DeB1aBC . Msim . DeBCaB1

Es fácil comprobar que la matriz MsimBC se corresponde con una aplicación que deja invariante al plano generado por los vectores {1, 0, -1} y {0, 1, -1}, y que transforma los vectores perpendiculares al plano en sus opuestos.

MsimBC . {1, 0, -1}

MsimBC.{0, 1, -1}

MsimBC . {1, 1, 1}

También es fácil comprobar que MsimBC es la matriz de una isometría.

Transpose[MsimBC] . MsimBC

Debemos observar que para hallar la matriz de la simetría respecto de las bases canónicas no es imprescindible que la base B1 sea ortonormal. Si consideramos la base B2 formada por dos generadores del plano y un vector perpendicular al plano,

B2 = { {1, 0, -1}, {0, 1, -1}, {1, 1, 1}}

la matriz de la simetría respecto de esta base es también Msim, ya que deja invariante los dos primeros vectores y cambia de signo el vector perpendicular. Usando las matrices de cambio de base entre B2 y la base canónica, podemos tener la simetría respecto de las bases canónicas, que comprobamos es igual a la ya calculada MsimBC.

DeB2aBC = Transpose[B2]
DeBCaB2 = Inverse[Transpose[B2]]
DeB2aBC . Msim . DeBCaB2

Esta segunda manera de calcular la matriz de la simetría respecto de las bases canónicas no precisa ortonormalizar una base, pero en cambio precisa calcular la inversa de una matriz.

Ejercicio: Construya la simetría respecto del plano x-y-z = 0. Halle el punto simétrico del (1,2,3) respecto del citado plano.

Construcción de isometrías en el espacio: Giro respecto a una recta.

En esta sección de la práctica vamos a construir la isometría del espacio que efectúa un giro alrededor de una recta.

Comenzaremos construyendo la matriz de la aplicación f: (ℝ^3) ⟶ (ℝ^3) que gira un ángulo de t radianes alrededor del eje x, esto es, la recta perpendicular al plano x = 0. Debemos notar que fijado el eje y el ángulo, hay dos sentidos de giro posibles. Al elegir la imagen por f del eje y, seleccionaremos uno de los dos sentidos. Para obtener la matriz del giro en el otro sentido, basta cambiar el signo del ángulo.

Para obtener la matriz, debemos hallar cómo se transforman los vectores de una base. Por un lado, el  vector e1 = {1, 0, 0}, que es vector director del eje x, es invariante por f, esto es, f(e1) = e1. Por otro lado, el vector e2 = {0, 1, 0}, que es vector director del eje y, debe girar un ángulo de t radianes dentro del plano x = 0, de forma similar a como se construía el giro en el plano en una sección anterior, quedando f(e2) = {0, Cos[t], Sin[t]}. El vector e3 = {0, 0, 1}, vector director del eje z, también gira un ángulo de t radianes dentro del plano x = 0, quedando f(e3) = {0, -Sin[t], Cos[t]}.

Poniendo la imagen de los vectores e1, e2 y e3 por columnas tenemos:

Mgiro = {{1, 0, 0}, {0, Cos[t], -Sin[t]}, {0, Sin[t], 
          Cos[t]}}

MatrixForm[Mgiro]

Ahora vamos a construir la matriz de un giro de Pi/4 radianes alrededor de la recta x = y = z. En primer lugar necesitamos un vector director de la recta, que podemos obtener dando un valor a una de las variables o pasando la recta a ecuaciones paramétricas. En cualquier caso, el vector {1, 1, 1} es un vector director de la recta, o también el vector v1 = {1/(Sqrt[3]), 1/(Sqrt[3]), 1/(Sqrt[3])} que tiene norma 1.

v1={1/(Sqrt[3]), 1/(Sqrt[3]), 1/(Sqrt[3])}

Ahora buscamos un plano perpendicular a la recta para obtener dos vectores generadores. Recordamos que el vector {1, 1, 1} es un vector director de la recta, y consideramos el plano x+y+z = 0 que es un plano vectorial de forma que (por los coeficientes de la x, de la y y de la z), el vector {1, 1, 1} es un vector perpendicular al plano. Para obtener dos vectores que generen el plano podemos dar valores a las variables o expresar las soluciones de x+y+z = 0 en términos de dos parámetros. Una vez obtenidos esos dos generadores, habría que obtener dos vectores que fueran perpendiculares y de norma 1.

Como el plano es el mismo que aparecía en la sección anterior, consideramos los mismos vectores que allí se calculaban.

v2 = {(1/(Sqrt[2])), 0, -(1/(Sqrt[2]))}

v3 = {-(1/(Sqrt[6])), (Sqrt[(2/3)]), -(1/(Sqrt[6]))}

Puesto que la base {v1, v2, v3} es una base ortonormal, existe una isometría g: (ℝ^3) ⟶ (ℝ^3) que lleva v1 a {1, 0, 0}, v2 a {0, 1. 0} y v3 a {0, 0, 1}. Para aplicar a un vector un giro alrededor de la recta x = y = z se puede aplicar primero la isometría g, luego un giro alrededor del eje x, y por último la inversa de g.

La inversa de g cumple que (g^(-1))(1, 0, 0) = v1, (g^(-1))(0, 1, 0) = v2, (g^(-1))(0, 0, 1) = v3, por tanto podemos hallar su matriz respecto de las bases canónicas poniendo los vectores v1, v2 y v3 por columnas. Como la inversa de g es una isometría, su matriz respecto de las bases canónicas es ortogonal, por tanto la matriz de g es la traspuesta de la matriz de la inversa de g, de donde deducimos que la matriz de g contiene los vectores v1, v2 y v3 por filas.

Mg = {v1, v2, v3}

Vamos a expresar el giro alrededor de la recta x = y = z como el producto de tres matrices.

M = Transpose[Mg] . (Mgiro /. t -> Pi/4) . Mg

Como comprobación, vamos a verificar algunas de las propiedades que debe cumplir la matriz M del giro. En primer lugar,  M es la matriz de una isometría y por tanto es ortogonal.

Simplify[ Transpose[M] . M ]

El giro deja invariante al eje del giro.

M . {1, 1, 1}

Los vectores del plano x+y+z = 0 tienen la forma {x, y, -x-y}, y si aplicamos el giro a un vector del plano, obtendremos otro vector del plano x+y+z = 0, con lo que si sumamos las tres coordenadas del vector girado obtenemos cero.

v = Simplify[ M . {x, y, -x - y} ]

Simplify[ v[[1]] + v[[2]] + v[[3]]  ]

Por último, si aplicamos 8 veces un giro de Pi/4, estamos aplicando un giro de 2Pi radianes, esto es, giramos una vuelta completa, que es lo mismo que aplicar la identidad.

Simplify[ MatrixPower[M, 8] ]

Debemos hacer dos observaciones en relación con la forma en que hemos construido la matriz de un giro en el espacio. En primer lugar debemos observar que es necesario que la base {v1, v2, v3} sea ortonormal para que la aplicación g sea una isometría. En segundo lugar, debemos observar que dar un eje de giro y un ángulo, no determina de forma única  el giro en el espacio, ya que hay dos 'sentidos de giro'. Cambiar el signo del ángulo equivale a cambiar 'el sentido de giro'.

Ejercicio: Sean w1 = {1/3, 2/3, 2/3}, w2 = {2/(Sqrt[5]), 0, -1/(Sqrt[5])} y w3 = {2/ (3(Sqrt[5])), -(Sqrt[5])/3, 4/(3(Sqrt[5]))}. Compruebe que la base {w1, w2, w3} es una base ortogonal (De aquí se deduce que w1 es un vector de norma 1, y que los otros dos vectores pertenecen a un plano ortogonal a w1). Construya una isometría que gire 2Pi/3 radianes alrededor del eje que define el vector w1.

(Solución:  {{-(1/3), (1/3) + (1/(Sqrt[3])), (1/3) - (1/(Sqrt[3]))}, {(1/3) - (1/(Sqrt[3])), (1/6), 
          (1/6) (4 + (Sqrt[3]))}, {(1/3) + (1/(Sqrt[3])), (1/6) (4 - (Sqrt[3])), 
          (1/6)}} )

Ejercicios.

1- Construya la matriz, respecto de las bases canónicas de (ℝ^2), del giro de Pi/4 radianes. Eleve dicha matriz a la octava potencia y explique el resultado.

2- Construya la matriz, respecto de las bases canónicas de (ℝ^2), de la simetría respecto de la recta y = x.

3- Construya la matriz, respecto de las bases canónicas de (ℝ^3), de la simetría respecto del plano x+y+2z = 0. Halle el ángulo que forman los vectores u1 = {1, 1, 1} y u2 = {1, 0, -1}. Aplique la simetría a ambos vectores y halle el ángulo que forman los vectores que resultan.

4- Construya la matriz, respecto de las bases canónicas de (ℝ^3), del giro de Pi/2 radianes que tiene por eje la recta de vector director {1, 0, -1}. Multiplique la matriz del giro por un vector genérico del plano x-z = 0 y compruebe que resulta otro vector del mismo plano.

5- Se considera la aplicación que dado un vector de (ℝ^3) primero le aplica una simetría respecto del plano x+y+z = 0 y luego le aplica un giro de  Pi/4 radianes respecto de la recta x = y = z. Compruebe que la aplicación considerada, que es composición de dos isometrías, es una isometría.