Rotationsachse im Raum finden

Neue Frage »

Zirkon17 Auf diesen Beitrag antworten »
Rotationsachse im Raum finden
Hey Leute!

Stehe vor einem kleinen (vllt auch großen) Problem.

Angenommen ich habe einen starren Quader im ³.
Position 1: Der Quader liegt im Ursprung
Position 2: Der Quader liegt beliebig um Raum

Kann man die Rotationsachse bzw. deren Lage im Raum errechnen
und den dazugehörigen Rotationswinkel?

Wie kann man sowas angehen?
riwe Auf diesen Beitrag antworten »
RE: Rotationsachse im Raum finden
drehen in R3
frank09 Auf diesen Beitrag antworten »
RE: Rotationsachse im Raum finden
Zu beachten ist bei Pos 2., dass der Ursprungsdrehung eine Verschiebung des Quaders an seine neue Position folgt. Einfach wird die Drehungsmatrix dadurch, dass die drei Kanten parallel zu den Koordinatenachsen/Standardbasis liegen und deren Bilder sich in normierter Form in den Spaltenvektoren der Matrix wiederfinden.
Zirkon17 Auf diesen Beitrag antworten »

Moment... Dem kann ich noch nicht ganz folgen...
Also...
Wie gehe ich das denn grundsätzlich an?
Meine Position 1 liegt ja grundsätzlich im Urpsrung (für meinen Fall).
Dann Beschreibe ich die 2te wie?
Mit Ortsvektoren+ bspw. P1P2?

Dann muss ich irgendwie eine Matrize aufstellen?
Umrechnen auf Koordinatenachsen?
Hä???
Kombinantion aus Translation und Rotation?

Da brauch ich doch noch Hilfe....
frank09 Auf diesen Beitrag antworten »
RE: Rotationsachse im Raum finden
Mit "der Quader liegt im Ursprung" meinst du sicher "eine Ecke liegt im Ursprung und
(unverdreht) alle Kanten sind parallel zu den Koordinatenachsen"

Nehmen wir an der verdrehte Ursprungsquader habe neben die benachbarten Eckpunkte

Wenn man davon ausgeht, dass ursprünglich auf der X-, sowie
und auf Y-, bzw. Z-Achse gelegen haben, dann
werden die Standardbasisvektoren auf die neuen Kanten abgebildet/gedreht:



Diese Abbildungsvektoren sind Spaltenvektoren in der Drehmatrix:


Wenn es nun zu R einen Eigenvektor n zum Eigenwert 1 gibt, dann hat eine Drehung um eine Achse stattgefunden und wenn auf
abgebildet wird, dann gilt für den Rotationswinkel:
Zirkon17 Auf diesen Beitrag antworten »

Ok... dem kann ich so halbwegs folgen...

Was wäre denn, wenn ich jetzt sage, dass ich statt eines Quaders
nur eine Ebene im Raum rotieren lasse.

D.h. die Anfangskoordinaten seien

P0


P1


P2


P3


D.h. die Ebene liegt kpl auf der YZ-Ebene


Dann positioniere ich mir die Ebene im Raum, wie ich diese schlussendlich brauche.

Die Punkte haben dann die Koordinaten:



P0´


P1´


P2´


P3´


@ frank09

Deinen Sachen konnte ich halbwegs folgen...
Allerdings lässt du den Quader ja im Ursprung rotieren...
Sehe ich das richtig?

Bei mir ist das etwas anders...
Hoffe ich habe das verständlich bzw. richtig aufgeschrieben...

Frage:
Wie stelle ich hiervon nun meine Matrix auf und wie rechne ich dann n aus?

Gruß
Mike

Ps: Das ist keine Hausaufgabe oder so...
Bin zwecks Übung am CAD am tüfteln und will hier ein Klappgelenk konstruieren....
 
 
frank09 Auf diesen Beitrag antworten »
RE: Rotationsachse im Raum finden
Zunächst wird die Ebene wieder um V=P0'-P0 in den Ursprung zurückgeschoben:
V=



*Die Vektoren sind etwas länger als 180 (Rundungsfehler)
P3' brauchen wir nicht mehr, weil eine Ebene durch 3 Punkte bereits eindeutig festgelegt ist.


Die Bildvektoren sind nun länger als 1 und werden durch ihren Betrag geteilt:


Weil die Drehmatrix aus senkrechten Einheitsvektoren besteht gilt:

Diese Bildvektoren der Standardbasis werden als Spaltenvektoren in die Drehmatrix eingetragen und mit dem Verschiebevektor kombiniert:



Die Drehmatrix R hat den Eigenvektor (0,404|0,821|0,404) zum Eigenwert 1.
aus
ergibt sich ein Drehwinkel von 101°.
Zuerst wird die Ebene also um den Eigenvektor gedreht und dann verschoben.
Zirkon17 Auf diesen Beitrag antworten »

Okay... Ist ja erstmal doch nicht so kompliziert...
Bis zur Aufstellung der Matrix, verstehe ich alles...
Was dann folgt ist mir noch nicht ganz so klar...

Wie errechnet man denn die Eigenvektoren der Rotaionsmatrix?

Und wie bekomme ich nun die Koordinaten von zwei Punkten, durch die ich meine Rotaionsachse legen kann?

Übrigens komme ich beim Drehwinkel mit dem arcus sinus auf 79,11°...
Wieso 101°?

Muss die Matrix denn nicht symetrisch sein?

Gruß
frank09 Auf diesen Beitrag antworten »

Eigenvektoren zum EW 1 sind solche, die durch die Matrixmultiplikation nicht verändert werden, eben die Drehachse.
Sie sind die Lösung folgenden Gleichungssystems:





Wenn es eine Lösung gibt, ist sie nicht eindeutig, weil Vielfache des E-Vektors auch E-Vektoren sind. Du kannst zur Berechnung z.B. festlegen x+y+z =1, dann bekommst du eine eindeutige Lösung. Oder du benutzt ein Internet-Tool, das dir die Eigenvektoren/E-werte ausrechnet.
Bei deiner Abbildung findet ja zuerst eine Ursprungsdrehung statt, also geht
deine Drehachse durch den Ursprung, durch und . kann irgendein Vielfaches des EVs sein. Eine Multiplikation mit einer Drehmatrix ist immer eine Ursprungsdrehung, weil 0 auf 0 abgebildet wird.
Würde sich deine Abbildung nur durch eine Drehung um eine Achse irgendwo im Raum darstellen lassen ohne Verschiebung , dann müsste V in der Drehebene liegen, also V senkrecht zum EV, was hier nicht der Fall ist.

Es gilt sin(101°)=sin(79°)=0,982. Mit einer anderen Formel, die genauer ist, lässt sich
101° herausfinden: Sei w ein Vektor senkrecht zum EV ist, z.B.
dann ist . Der Drehwinkel ist der Winkel zwischen w und Rw. Weil das Skalarprodukt Rw*w und damit der Cosinus negativ ist, muss der Winkel >90° sein.
Für die Drehrichtung gilt folgendes: Die Drehachse EV zeigt zu dir. Wenn
DET(EV,w,Rw)<0 -> im Uhrzeigersinn, ansonsten dagegen.

Eine symmetrische Drehmatrix ist gleichzeitig ihre Umkehrmatrix/Inverse. D.h. zweimal hintereinander ausgeführt, ist der Urzustand wiederhergestellt. Das bedeutet bei einer Drehung um eine Achse
einen Drehwinkel von 180°, was bei dir ja nicht der Fall ist.
Zirkon17 Auf diesen Beitrag antworten »

Könnte ich denn einen Punkt im Raum bestimmen und ausrechnen wo der zweite Punkt liegen muss (Verbindung beider Punkte=Achse) um von A nach B zu kommen?
Kann man das auch in einem Buch nachlesen?
Dann brauch ich deine Lebenszeit nicht unnötig in Anspruch nehmen...
Trotzdem danke! Super dass es sowas hier gibt und es Leute gibt, die daran interessiert sind ihre Fähigkeiten zu vermitteln!
frank09 Auf diesen Beitrag antworten »

Um von A nach B zu kommen gibt es mehrere Möglichkeiten. Die einfachste ist, den Vektor zu addieren. Das wäre dann eine reine Verschiebung ohne jede Drehung. Um durch Drehung von A nach B zu kommen, müsste die Drehachse senkrecht zu liegen (nicht eindeutig).
Oder willst du zu einer vorgegebenen Drehachse und einem Drehwinkel die Matrix (evtl. mit Verschiebung) aufstellen? Damit könntest du jedem Punkt P vor der Drehung den Punkt P' nach der Drehung zuordnen.

Literatur zum Thema "affine Abbildungen" gibt es sicher genug.
Wenn ich die Zeit zum Antworten für Verschwendung halten würde, wäre ich einfach weg. Es würden dann andere einspringen.
Zirkon17 Auf diesen Beitrag antworten »

Mein Problem ist ja, dass ich ein Gelenkteil konstruieren will, welches nachher eine bestimmte Positioneinnimmt...
Angenommen wir hätten eine Autotür... Diese dreht ja nur um eine Achse...
Angenommen man würde die Tür 90° öffnen und dann nochmals um eine zweite Achse, die lotrecht zur ersten ist, 90° nach oben schwenken...

Was man dann in diesem Fall mit zwei Drehungen macht, will ich mit einer Achse realisieren. Allerdings sind die Winkel bei mir etwas anders....
Der Raum, in dem ein Achsepunkt liegen muss ist ebenfalls gegeben...


Bspw. sei Achsenpunkt 1 -> A1

Wo muss nun A2 liegen um eine Achse zu erzeugen bzw. den Vektor A1A2
um den ich mit nur einer Rotation um einen bestimmten Winkel
Po´auf Po
P1´auf P1
und
P2´auf P2 bekomme....

Durch ausprobieren kriege ich das ja auch irgendwie hin...
Aber das muss ich doch auch rechnerisch lösen können oder?
frank09 Auf diesen Beitrag antworten »

Weil die Drehebenen, in der die Punkte bewegt werden, senkrecht zur Drehachse
und damit parallel zueinander sind, gilt:

und natürlich

Wenn sich die Abbildung durch eine Drehung darstellen lässt, muss auch gelten:


Um daraus zunächst eine Ursprungsdrehung zu machen, setze
,etc.

Sei nun die normierte Achse
sowie

ein Vektor senkrecht zur Achse und
dessen Bild,

dann ist Drehwinkel der Winkel zwischen und :


Wie zu und die Drehmatrix M aussieht, steht bei Wiki. Evtl. musst du als Drehwinkel einsetzen.

Durch "wieder zurückschieben" vom Ursprung weg, ergibt sich:

Nikfrsiko Auf diesen Beitrag antworten »
RE: Rotationsachse im Raum finden
@frank09

Hallo Frank ich weiß nicht ob du das hier noch liest aber wenn ich die Rotationsmatrix aufgestellt habe und wir z.B. den Punkt (0/180/180) einsetze dann müsste da P4´raus kommen. Auch nach mehrmaligen nachrechnen habe ich jedoch bei der y als auch z Koordinate eine Abweichung drinnen. Woher kommt denn das. Habe nichts anderes als die Punkte in deine Gleichung eingesetzt.

Vielen Dank im Vorraus
Neue Frage »
Antworten »



Verwandte Themen

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