Hier ist ein einfacher Beweis, dass die inverse Transponierung erforderlich ist. Angenommen, wir haben eine Ebene, die durch eine Ebenengleichung , wobei n die Normale ist. Jetzt möchte ich diese Ebene durch eine Matrix M transformieren . Mit anderen Worten, ich möchte eine neue Ebenengleichung n ' ⋅ M x + d ' = 0 finden , die für genau dieselben x- Werte erfüllt ist, die die vorherige Ebenengleichung erfüllen.n⋅x+d=0nMn′⋅Mx+d′=0x
Dazu genügt es, die beiden Ebenengleichungen gleich zu setzen. (Dies gibt die Möglichkeit auf, die Ebenengleichungen willkürlich neu zu skalieren, aber das ist für das Argument nicht wichtig.) Dann können wir und subtrahieren. Was wir übrig haben, ist:d′=d
n′⋅Mx=n⋅x
Ich werde dies mit den in Matrixnotation ausgedrückten Punktprodukten umschreiben (die Vektoren werden als 1-Spalten-Matrizen betrachtet):
n′TMx=nTx
Um dies nun für alle zu befriedigen , müssen wir haben:x
n′TM=nT
Nun wird nach in Bezug auf n aufgelöst ,n′n
n′Tn′n′=nTM−1=(nTM−1)T=(M−1)Tn
Presto! Wenn Punkte durch eine Matrix M transformiert werden , müssen Ebenennormalen durch die inverse Transponierung von M transformiert werden, um die Ebenengleichung zu erhalten.xMM
Dies ist im Grunde eine Eigenschaft des Skalarprodukts. Damit das Skalarprodukt beim Anwenden einer Transformation invariant bleibt, müssen die beiden gepunkteten Vektoren auf entsprechende, aber unterschiedliche Weise transformiert werden.
Mathematisch kann dies beschrieben werden, indem gesagt wird, dass der normale Vektor kein gewöhnlicher Vektor ist, sondern ein Ding, das Covektor genannt wird (auch bekannt als kovarianter Vektor, dualer Vektor oder lineare Form). Ein Covektor ist im Grunde genommen definiert als "eine Sache, die mit einem Vektor punktiert werden kann, um einen invarianten Skalar zu erzeugen". Um dies zu erreichen, muss es unter Verwendung der inversen Transponierung der Matrix transformiert werden, die auf gewöhnlichen Vektoren arbeitet. Dies gilt in beliebig vielen Dimensionen.
Beachten Sie, dass ein Bivektor in 3D einem Covektor ähnelt. Sie sind nicht ganz gleich, da sie unterschiedliche Einheiten haben: Ein Covektor hat Einheiten umgekehrter Länge, während ein Bivektor Einheiten quadratischer Länge (Fläche) hat, so dass sie sich beim Skalieren unterschiedlich verhalten. Sie transformieren sich jedoch in Bezug auf ihre Orientierung auf die gleiche Weise, was für Normalen wichtig ist. Normalerweise interessiert uns die Größe eines Normalen nicht (wir normalisieren sie sowieso immer auf die Einheitslänge), sodass wir uns normalerweise nicht um den Unterschied zwischen einem Bivektor und einem Covektor kümmern müssen.