Hallo,
in meiner letzten Mail war die Reihenfolge falsch. Die Verschiebung erfolgt zuletzt, also nach den 3 Drehungen. Hatte aber auf die Überprüfung keine Auswirkungen. Quelle: Stöcker, Taschenbuch mathematischer Formeln und moderner Verfahren, Verlag: Harry Deutsch.
Also mein Beitrag nochmals:
Hallo,
ich habe die Antwort durch 'reverse Engineering' selbst gefunden. Habe mir in ProE eine kleine Baugruppe erstellt mit bekannten , selbst erstellten Koordinatensystemen und einfache Parts darauf
eingebaut und diese als productview file rausgeschrieben und mir die location Properties angeschaut.
Die Antwort lautet: Productview verwendet KEINE Eulersche Winkel, sondern verwendet die Drehwinkel um die Achsen x, y, z des Basis/Ausgangskoordinatensystems. Folgende Reihenfolge wird verwendet:
1. Drehen um die x-Achse mit dem 1. Winkel aus location
2. Drehen um die y-Achse mit dem 2. Winkel aus location
3. Drehen um die z-Achse mit dem 3. Winkel aus location
4. Verschieben/Translation um den Verschiebungsvektor (4. 5. und 6. Wert der location)
Wenn man die Drehmatrizen und Translationsmatrix für diese Reihenfolge anwendet erhält man die 4x4 Transformationsmatrix:
(P.S: Immer in umgekehrter Reihenfolge)
R = T x Rz x Ry * Rx =
|cosz*cosy –sinz*cosx + cosz*siny*sinx sinz*sinx + cosx*cosz*siny Tx|
|sinz*cosy cosz*cosx + siny*sinz*sinx –sinx*cosz + cosx*siny*sinz Ty|
|-siny cosy*sinx cosx*cosy Tz|
|0 0 0 1|
x= drehwinkel um x-Achse, y=drehwinkel um y-, z = drehwinkel um z-Achse.
Diese Formel fuer meine Testassembly und den location-Werten angewendet, kann in ProE mit der der Measure-Funktion überprueft werden und stimmt überein. (Achtung: ProE-intern werden alle
Transformationsmatrizen in transponierter Form verwaltet - wohl
aus historischen Gruenden :-)..aber das ist schon wieder ein anderes Thema)....
------------------
Viele Grüße
Norbert Schultheis
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP