Rotation eines Körpers

Neue Frage »

Top Gun Auf diesen Beitrag antworten »
Rotation eines Körpers
Also ich hab keine Ahnung wo meine Frage hingehört und wenn ich im Netz suche finde ich nur Geometrische Lösungsansätze oder Physikalische, die dann aber auf die Trägheit des Körpers eingehen...

Ich habe mir ein einfaches Programm geschrieben, welches mir eine dreiseitige Pyramide (ABCD) zeichnet. Dazu benutze ich die Matrix:

1|0
0|1
0|-1/2

Nun soll die Pyramide gedreht werden. Hierbei definiere ich eine einfache Achse (g) parallel zur Y-Achse bei x=5 (hier nur als Beispiel da im Programm eine größere Zahl verwendet werden muss).
Der Einfacheit halber liegt D (Spitze der Pyramide) auf g.

Mein Problem jetzt ist es den Körper rotieren zu lassen, wobei ich auf das Problem gestoßen bin, dass die Punkte den selben Abstand bei behalten müssen, da sich der Körper ansonsten verformt.
Um den Abstand eines Punktes zu einer geraden zu bestimmen, fälle ich normalerweise das Lot, aber wie mache ich das rechnerisch?

Leider ist mir aber auch schleierhaft wie ich weiter mache wenn ich den Abstand bestimmt habe...

Mein Kollege meinte, es würde gehen in dem man die Matrix verändert, jedoch haben all meine Versuch nichts ergeben...
quarague Auf diesen Beitrag antworten »

der allgemeine Lösungansatz sieht etwa so aus:
sei (x,y,z) ein Punkt in IR³, dieser soll um eine Gerade, die parallel zur Y-Achse liegt und durch den Punkt (a,0,b) geht, um den Winkel t gedreht werden.
=> Der Punkt rotiert in der x-z Ebene.
Sei r der Abstand zur Rotationsachse, also r²=(x-a)²+(z-b)²
Dann hat der gedrehte Punkt die Koordinaten:
(r*cos(t), y, r*sin(t))
wenn du nicht parallel zu einer der Koordinatenachsen drehst werden die Formel ein bisschen komplizierter aber das Prinzip ist das Gleiche.
Top Gun Auf diesen Beitrag antworten »

Also ich habe ja nochmal ne Nacht drüber geschlafen und da sind mir ein paar Fehler eingefallen bzw ein Paar Ideen gekommen...

1. Wie du bemerkt hast ist die Achse g nicht nur auf X sondern auch auf Z verschoben.

2. Bin ich mir etwas unsicher geworden ob ich meine Achsen in meinen Überlegungen richtig benannt habe...
Ich benenne gegen den Uhrzeigersinn?!
Also die Achse waagerecht nach links und rechts ist X,
die Achse senkrecht ist Y,
die Achse waagerecht nach vorne und hinten ist Z?!
(Nach deinem Post jedoch glaube ich das ich es richtig gemacht habe...)

Danke erstmal für die tolle Antwort, das hat mir mächtig weiter geholfen.

Wenn ich nun um die X Achse drehen würde müsste ich die Formel so angleichen?!

Achse g geht durch den Punkt (0,a,b)

r²=(y-a)²+(z-b)²

Und wenn ich um die Z Achse drehe, wäre das doch genauso?!

Aber bei der Berechnung des gedrehten Punktes, wann muss ich cos und wann sin benutzen? Ist das für jede Achse festgelegt? Oder geht es danach wie ich drehen will?

Weiterhin würde mich interessieren wie die Formel auszusehen hat wenn ich nicht um eine Achse drehen will...

EDIT: Ich habe das mal ausprobiert doch scheint es nicht zu klappen...
Ich habe dann in Excel die Punkte zu den Rotationswinkeln berechnen lassen und irgendwas stimmt da nicht:

Winkel x y z
1 3,82051424 10 5,95009840
2 -2,94260250 10 6,42970377
3 -7,00030408 10 0,99786915
4 -4,62195837 10 -5,35140176
5 2,00579455 10 -6,78061857
6 6,78942921 10 -1,97576594
7 5,33089396 10 4,64559679
8 -1,02884061 10 6,99581925
9 -6,44266387 10 2,91411776
10 -5,93313168 10 -3,84681017
11 0,03129441 10 -7,07099856
12 5,96694857 10 -3,79414349
13 6,41661773 10 2,97102961
14 0,96687814 10 7,00465179
15 -5,37180475 10 4,59822941
16 -6,77167513 10 -2,03578388
17 -1,94569862 10 -6,79810686
18 4,66914422 10 -5,31028175
19 6,99119740 10 1,05979191
20 2,88557593 10 6,45549778
21 -3,87303074 10 5,91604876
22 -7,07079081 10 -0,06258821
23 -3,76769842 10 -5,98368186
24 2,99939853 10 -6,40340601
25 7,00886230 10 -0,93586820

PS: ich weiß sieht hier scheiße aus, doch glaub ich kann man da durchsteigen und sehen was ich meine, bei fragen kann ich dann gerne die Exceltabelle vorlegen.

EDIT II: Bei einem Rotationswinkel von 0 müsste ich doch eigentlich meine eigentlichen Punkte herausbekommen, das geht auch schief...
Neue Frage »
Antworten »



Verwandte Themen

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