Rotationsmatrix

Neue Frage »

hugen Auf diesen Beitrag antworten »
Rotationsmatrix
Hallo,
bei mir ist Mathe einfach zu lange her...
Folgendes Problem: Ich habe eine Funktion zur Umwandlung eines Vektors in eine Rotationsmatrix gefunden, die aber die Y-Koordinaten vernachlässigt.

Weiß jemand, was ich ändern muss? Wie rechne ich den fehlenden Winkel aus bzw. wie beeinflusst er die anderen?

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
def rotationMatrixFromVector(myVec):
myVec.normalize()
angleY = asin(-myVec[0])
angleX = acos(myVec[2]/cos(angleY))
rxmat = RotationMatrix(degrees(angleX), 4, 'x')
rymat = RotationMatrix(degrees(angleY), 4, 'y')
mat=rxmat*rymat*rzmat
mat.transpose()
return (mat)


Vielen Dank

hugen
JochenX Auf diesen Beitrag antworten »

ich will ehrlich zu dir sein: mit diesem Post wirst du nicht erwarten können, dass dir jemand sinnvolle Hilfe anbieten kann


1) der Titel "simpel" ist nichtssagend, das kann ich gerne ändern, wenn du mir sagst, was ich daraus machen soll (oder du machst es selbst), ich habe nämlich gar keine Ahnung, worum es eigentlich gehen soll
damit kommn wir zu
2) es ist völlig unverständlich, was du da machen möchtest:
einen Vektor in eine Matrix umwandeln? wie (und warum)?
Das solltest du MATHEMATISCH erklären, stattdessen setzt du uns einen unverständlichen Quelltext eines Programmes vor, der mich eher verführt, dich ins Informatikerboard zu schicken (*duck*).
3) redest du wirr von y-Koordinaten und dann plötzlich von Winkeln, das gibt dem ganzen nicht mehr Verständnis.


Also bitte frage noch mal (mathematisch verständlicher) nach und erkläre auch ein bisschen, was du machen willst, wobei es dann nicht funktioniert, was da genau nicht funktioniert usf.

DANN können wir dir hoffentlich auch helfen.
hugen Auf diesen Beitrag antworten »
Rotationsmatrix
OK, das saß. Ich entschuldige mich hiermit bei allen, die meinen Scheiß gelesen haben.
--------------------------------------------
Thema ist die Überführung eines Vektors in eine Rotationsmatrix.

Mein Problem ist die Überführung eines Vektors , der von Punkt nach zeigt, wobei , und in einem dreidimensionalen kartesischen Koordinatensystem in eine Rotationsmatrix, mit der ich den Punkt auf den beliebigen Punkt P2 drehen kann.

Ich benötige nicht unbedingt die Matrix an sich, da mir aus einer Programmbibliothek heraus die Möglichkeit gegeben ist, einen Winkel um eine der Hauptachsen in eine Matrix zu überführen.

Mir reichen also drei Winkel aus denen ich jeweils eine Matrix erstellen kann, die ich wiederum miteinander multipliziere, um eine Rotationsmatrix für die
Problemstellung zu erhalten.

Momentan werden zwei Winkel wie folgt berechnet und liefern korrekte Ergebnisse:

Winkel um Y-Achse:

Winkel um X-Achse:

Was fehlt ist der Winkel um die Z-Achse .

Falls es einfacher ist, gleich eine Rotationsmatrix zu erstellen (wie auch immer die aussieht), ist das auch ohne Probleme möglich.

Ich habe leider nach 12 Semestern Architektur keine Ahnung mehr von Mathematik.

Falls einer von Euch überhaupt noch gewillt ist, sich mit diesem Thema zu beschäftigen, bin ich für jeden Ratschlag sehr dankbar.

schöne Grüße

hugen
hugen Auf diesen Beitrag antworten »
RE: Rotationsmatrix
Wahrscheinlich geht es auch irgendwie einfacher, indem man um das Kreuzprodukt von P1P2 und P1P3 dreht...
riwe Auf diesen Beitrag antworten »
RE: Rotationsmatrix
schau mal hier
werner
Neue Frage »
Antworten »



Verwandte Themen

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