Aquí hay una prueba simple de que se requiere la transposición inversa. Supongamos que tenemos un plano, definido por una ecuación plana , donde n es lo normal. Ahora quiero transformar este plano por alguna matriz M . En otras palabras, quiero encontrar una nueva ecuación de plano n ′ ⋅ M x + d ′ = 0 que se satisfaga exactamente para los mismos valores de x que satisfacen la ecuación de plano anterior.n ⋅ x + d= 0norteMETROnorte′⋅ Mx + d′= 0X
Para hacer esto, es suficiente establecer las dos ecuaciones planas iguales. (Esto da la capacidad de reescalar las ecuaciones del plano arbitrariamente, pero eso no es importante para el argumento). Entonces podemos establecer y restarlo. Lo que nos queda es:re′= d
norte′⋅ Mx = n ⋅ x
Reescribiré esto con los productos de punto expresados en notación matricial (pensando en los vectores como matrices de 1 columna):
norte′TMETROx = nTX
Ahora para satisfacer esto para todas las , debemos tener:X
norte′TMETRO= nT
Ahora resolviendo para en términos de n ,norte′norte
norte′Tnorte′norte′= nTMETRO- 1= ( nTMETRO- 1)T= ( M- 1)Tnorte
¡Presto! Si los puntos son transformados por una matriz M , entonces las normales del plano deben transformarse por la transposición inversa de M para preservar la ecuación del plano.XMETROMETRO
Esto es básicamente una propiedad del producto punto. Para que el producto punto permanezca invariable cuando se aplica una transformación, los dos vectores punteados tienen que transformarse de formas correspondientes pero diferentes.
Matemáticamente, esto puede describirse diciendo que el vector normal no es un vector ordinario, sino una cosa llamada un vectorizador (también conocido como vector covariante, vector dual o forma lineal). Un covector se define básicamente como "una cosa que se puede puntear con un vector para producir un escalar invariante". Para lograr eso, tiene que transformarse usando la transposición inversa de cualquier matriz que esté operando en vectores ordinarios. Esto se cumple en cualquier cantidad de dimensiones.
Tenga en cuenta que en 3D específicamente, un bivector es similar a un covector. No son exactamente lo mismo ya que tienen unidades diferentes: un Covector tiene unidades de longitud inversa, mientras que un Bivector tiene unidades de longitud al cuadrado (área), por lo que se comportan de manera diferente bajo la escala. Sin embargo, se transforman de la misma manera con respecto a su orientación, que es lo que importa para los normales. Por lo general, no nos importa la magnitud de un normal (de todos modos, siempre los normalizamos a la longitud de la unidad), por lo que generalmente no debemos preocuparnos por la diferencia entre un bivector y un covector.