Verfasst am: 31.07.2012, 12:48
Titel: Drehwinkel für Rotationsmatrix bestimmen
Hallo,
Ich habe mal wieder ein Problem bei dem ich nicht weiter komme ;/
Ich habe den Normalenvektor einer Ebenen, diese Ebene möchte ich jetzt mittels einer Rotationsmatrix so drehen, dass sie parallel zur XY-Ebene steht.
Wie bekomme ich die Winkel meiner Rotationsmatrix hierfür heraus?
hm das bringt mir leider nichts, da bei dieser Funktion der Winkel angeben werden muss. Ich suche eben diesen Winkel.
Ich will raus bekommen um welche Achsen ich mit wie viel Grad rotieren muss damit meine Ebene parallel zur xy-Ebene wird.
meinst du parallel oder senkrecht zur xy-Ebene? Falls du ersteres meinst, so ist dieses Problem keinesfalls eindeutig.
Grüße, Marc
ist mir beides recht, da die Parallelität ja problemlos aus der Rechtwinkligkeit abgeleitet werden kann (einfach um weitere 90grad drehen)
Nochmals: Das Problem ist nicht eindeutig lösbar. Es gibt unendlich viele Möglichkeiten, den Normalenvektor in die Ebene zu rotieren. Wie wäre es mit einer Projektion in die Ebene? Das wäre eindeutig.
meinst du parallel oder senkrecht zur xy-Ebene? Falls du ersteres meinst, so ist dieses Problem keinesfalls eindeutig.
Grüße, Marc
ist mir beides recht, da die Parallelität ja problemlos aus der Rechtwinkligkeit abgeleitet werden kann (einfach um weitere 90grad drehen)
Nochmals: Das Problem ist nicht eindeutig lösbar. Es gibt unendlich viele Möglichkeiten, den Normalenvektor in die Ebene zu rotieren. Wie wäre es mit einer Projektion in die Ebene? Das wäre eindeutig.
was bringt mir eine Projektion?
Und theoretisch brauch ich auch keine eindeutige Lösung irgendeine würde mir schon reichen ;P
da muss doch irgendwas gehen
würde es irgendwas bringen wenn ich noch einen zweiten Normalenvektor einer zweiten Ebene hätte die senkrecht auf die erste steht? Die ebene müsste dann quasi parallel zur xz- oder yz-Ebene werden
Man muss eine mögliche Lösung vorher skizzieren, bevor man irgendeinen Code verwendet.
Möglichkeiten, einen Vektor in eine Ebene zu rotieren:
1. Projektion des Vektors in die Ebene
2. Irgendeinen der beiden Richtungsvektoren der Ebene nehmen
3. Irgendeine Linearkombination der beiden Richtungsvektoren der Ebene nehmen
Was man hier aber keineswegs braucht, sind irgendwelche Drehmatrizen.
Zuletzt bearbeitet von MaFam am 01.08.2012, 12:45, insgesamt einmal bearbeitet
Wenn ich einen Normalenvektor einer Ebene habe (x,y,z), zur Vereinfachung im Ursprung, und dann den Winkel zwischen diesen und einen Vektor (0,0,1) (Vektor schaut nur in die z- Richtung) berechnen und um diesen Winkel dann rotiere sollte ich ja die Ebene dann parallel zur z Achse ausgerichtet haben oder bin ich komplett daneben?
Hi
öhm ich bin grad bissel überfragt was soll dieser centroid? für den brauch ich ja dann punkte auf der Ebene, das ist jetzt erstmal kein Problem an die komm ich im Notfall ran aber für was brauch ich den? Weil bei einer unendlichen Ebene macht der centroid doch gar keinen Sinn oder versteh ich das falsch?
eigentlich würde mir der Rotationswinkel ja schon reichen aber ich nehme an der bezieht sich auf die Rotationsachse welche ich nur mir dieser AxelRot-Funktion verarbeiten kann
Man muss eine mögliche Lösung vorher skizzieren, bevor man irgendeinen Code verwendet.
Möglichkeiten, einen Vektor in eine Ebene zu rotieren:
1. Projektion des Vektors in die Ebene
2. Irgendeinen der beiden Richtungsvektoren der Ebene nehmen
3. Irgendeine Linearkombination der beiden Richtungsvektoren der Ebene nehmen
Was man hier aber keineswegs braucht, sind irgendwelche Drehmatrizen.
hm das Problem, das ich habe ist, dass ich eben eine solche Matrix brauche, denn was ich eigentlich tun will ist die Drehung eines Quaders im Raum festzustellen um ihn dann mit der ihn umgebenden Puntkwolke so zu drehen, dass der Quader danach achsparallel ist.
Achsparallel bedeute, dass alle Kanten parallel zu einer Koordinatenachse sind.
Den Quader habe ich anhand der 6 Normalenvektoren seiner Ebenen gegeben.
Also wenn du so willst habe ich quasi ein quaderfestes Koordinatensystem mit dem Ursprung in einer Quaderecke und 3 Vektoren die senkrecht aufeinander stehen. Für dieses Koordinatensystem brauche ich jetzt die Drehwinkel um es mit einer Rotationsmatrix in die Ausrichtung des erdfesten Koordinatensystem zu drehen. (keine Verschiebung des Ursprungs des quaderfesten Koordinatensystems)
Wenn ich einen Normalenvektor einer Ebene habe (x,y,z), zur Vereinfachung im Ursprung, und dann den Winkel zwischen diesen und einen Vektor (0,0,1) (Vektor schaut nur in die z- Richtung) berechnen und um diesen Winkel dann rotiere sollte ich ja die Ebene dann parallel zur z Achse ausgerichtet haben oder bin ich komplett daneben?
Nein, du bist natürlich nicht komplett daneben. Wenn man allerdings den Ausgangsvektor hin zu (0,0,1) rotiert hat, ist dieser immer noch nicht parallel zur xy-Ebene. Man muss dann immer noch einen senkrechten Vektor dazu finden, was wieder ein nicht eindeutiges Problem ist.
Du kannst Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen. Du kannst Dateien in diesem Forum posten Du kannst Dateien in diesem Forum herunterladen
MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.