Transformationsmatrix aus Einheitsvektor(en)

Neue Frage »

E.Kant Auf diesen Beitrag antworten »
Transformationsmatrix aus Einheitsvektor(en)
Hallo,

Hat jemand eine optimierte Transformationsmatrix zur Hand, die benötigt wird, um den Vektor [1,0,0] nach einem beliebigen Einheitsvektor zu rotieren?

Was ich mir bisher hergeleitet habe sieht viel zu kompliziert aus.


Danke für Eure Hilfe!
E.Kant Auf diesen Beitrag antworten »
RE: Transformationsmatrix aus Einheitsvektor(en)
Ich bin bisher auf folgendes gekommen:

code:
1:
2:
3:
4:
5:
|    x         -y          -z        |
|   -z    x+z²/(1+x)   -yz/(1+x)     | 
|    z     -yz/(1+x)   x+y²/(1+x)    |


Ist das so OK?
Dummerweise gilt dann als Voraussetzung dass kein Attribut Null ist.


Naja, falls jemand etwas besser optimierts findet bin ich natürlich hörig! smile
Mazze Auf diesen Beitrag antworten »

Ich bin mir nicht sicher was Du unter Rotation nach einem Einheitsvektor verstehst? Wenn Du damit die x,y,z Achsen meinst dann beschreiben folgende Matrizen eine Rotation mit dem Winkel

um die z-Achse



um die y-Achse



um die x-Achse

E.Kant Auf diesen Beitrag antworten »

Es geht mir nicht um die variablen Rotationsmatrizen.

Die hier gemeinte Rotation findet um die Normale der Ebene, die beide Vektoren beschreiben statt.
Die obige Translationsmatrix bezieht sich auf den Basisorientierungsvektor [1,0,0].


Keine Ahnung wie dieses Transformationsverfahren genannt wird.
Mazze Auf diesen Beitrag antworten »

Du solltest zunächst unterscheiden zwischen Translation und Rotation sonst wird es schwer nachzuvollziehen wo das Problem liegt. Du willst also Rotieren, egal um was man Rotiert im Raum immer um einen Winkel und eine Bezugsgerade g. Da man zu jeder Geraden g eine orthogonale Ebene findet ist Dein Problem einfach eine allgemeine Rotation um eine bel. Gerade.

Man kann jede bel. Rotation durch eine der obigen Rotationsmatrizen ausdrücken, was man dann allerdings machen muss ist die entsprechenden Rotationsgeraden mittels Ähnlichkeitstransformation auf eine der Koordinatenachsen zu transformieren, also



ich möchte jetzt nicht haarklein das ganze herleiten (da würde ich eh nur das Script abtippen), was zumindest dabei Rauskommt ist folgende Matrix :



Dabei ist

Und x,y,z der Vektor um den im Uhrzeigersinn um den Winkel alpha gedreht wird. Du musst jetzt lediglich den Drehwinkel und den Vektor festlegen um den Gedreht werden soll.
Neue Frage »
Antworten »



Verwandte Themen

Die Beliebtesten »
Die Größten »
Die Neuesten »