Konventionen für Eulersche Winkel.

In diesem Forum Fragen und Diskussionen in Deutsch
Forum rules
Foren-Regeln und hilfreiche Informationen

WICHTIG: Bitte zuerst lesen, bevor Sie posten
User avatar
microelly2
Veteran
Posts: 4688
Joined: Tue Nov 12, 2013 4:06 pm
Contact:

Re: Konventionen für Eulersche Winkel.

Post by microelly2 »

In Blender gibt es die volle Liste und manchmal braucht man auch den einen oder andren exoten.
Attachments
t.png
t.png (14.05 KiB) Viewed 1973 times
User avatar
shoogen
Veteran
Posts: 2823
Joined: Thu Dec 01, 2011 5:24 pm

Re: Konventionen für Eulersche Winkel.

Post by shoogen »

microelly2 wrote:In Blender gibt es die volle Liste
Sorry, Thomas, aber die Liste ist nicht voll(ständig). Das sind nur die 6 Tait–Bryan Fälle (jede Achse kommt einmal vor). Die 6 "reinen" Euler Fälle (die letzte Achse ist eine gedrehte Version der ersten Achse) fehlen ;)
http://en.wikipedia.org/wiki/Euler_angl ... ler_angles
wmayer
Founder
Posts: 20243
Joined: Thu Feb 19, 2009 10:32 am
Contact:

Re: Konventionen für Eulersche Winkel.

Post by wmayer »

Wiki wrote: Any orientation can be achieved by composing three elemental rotations. The elemental rotations can either occur about the axes of the fixed coordinate system (extrinsic rotations) or about the axes of a rotating coordinate system, which is initially aligned with the fixed one, and modifies its orientation after each elemental rotation (intrinsic rotations). The rotating coordinate system may be imagined to be rigidly attached to a rigid body. In this case, it is sometimes called a local coordinate system. Without considering the possibility of using two different conventions for the definition of the rotation axes (intrinsic or extrinsic), there exist twelve possible sequences of rotation axes, divided in two groups:
Wenn ich den Text richtig verstehe gibt es noch, "intrinsic" und "extrinsic", so dass wir dann letztendlich bei 24 Fällen liegen?

Im Wiki-Artikel Conversion between quaternions and Euler angles findet man unter Referenzen ein Paper von der NASA, das die "zwölf" Fälle behandelt. Daraus wollte ich die Quaternion aus den drei Winkeln berechnen und die Formeln haben kein bisschen gepasst. Ich habe mir diese dann selbst "hergelitten", was letzten Endes erstaunlich einfach war.
User avatar
shoogen
Veteran
Posts: 2823
Joined: Thu Dec 01, 2011 5:24 pm

Re: Konventionen für Eulersche Winkel.

Post by shoogen »

wmayer wrote:Wenn ich den Text richtig verstehe gibt es noch, "intrinsic" und "extrinsic", so dass wir dann letztendlich bei 24 Fällen liegen?
Kombinatorisch gesehen, natürlich. In der Implementierung von OCCT werden im Fall "extrinsic" die beiden Werte für den ersten und letzten Winkel vertauscht. http://git.dev.opencascade.org/gitweb/? ... 1ba3f#l280
EDIT: Die Implementierung von OCCT scheint der englischen Wikipedia zu widersprechen. Ich glaube wir brauchen mal zitierfähige Literatur ;)
EDIT2: Also die Winkel zu vertauschen, wie OCCT das macht, ergibt (für sich) überhaupt keinen Sinn. Die Reihenfolge der Operationen zu tauschen macht schon mehr Sinn. Aber OCCT hätte wohl beides tun müssen, übergeht aber das letztere.
EDIT3: http://tracker.dev.opencascade.org/view.php?id=25946
EDIT4: Das gilt natürlich nur für die Tait–Bryan Fälle. Ansonsten sind die beteiligten Achsen ja die selben.
wmayer wrote:Daraus [Nasa Paper] wollte ich die Quaternion aus den drei Winkeln berechnen und die Formeln haben kein bisschen gepasst.
Ich hab da so eine Idee: (x y z w) (OSG,OCCT,FreeCAD) vs. (w x y z) (Blender, wikipedia link) ??? In den Formeln für Quaternionen q0 bis q3 zu benutzen halte ich ja für gefährlich.
wmayer
Founder
Posts: 20243
Joined: Thu Feb 19, 2009 10:32 am
Contact:

Re: Konventionen für Eulersche Winkel.

Post by wmayer »

Ich hab da so eine Idee: (x y z w) (OSG,OCCT,FreeCAD) vs. (w x y z) (Blender, wikipedia link) ??? In den Formeln für Quaternionen q0 bis q3 zu benutzen halte ich ja für gefährlich.
Das war nicht das Problem. Wenn man sich die Definition der Quaternion-Multiplikation genau ansieht, sieht man schnell, dass der Realanteil (berechnet aus Euler- oder Tait-Bryan-Winkel) immer dieser Form folgt: c1*c2*c3 +- s1*s2*s3. Das heißt, im NASA-Paper ist q1 der Realanteil w. Ich denke, der Grund, warum das nicht passt, ist das "intrinsic" vs. "extrinsic".

EDIT: Für eine der Formeln bin ich mal auf ein Ergebnis gestoßen, wo erster und dritter Winkel vertauscht waren.
User avatar
hammax
Veteran
Posts: 1985
Joined: Thu Jan 19, 2017 5:03 pm
Location: Ammersee DE

Re: Konventionen für Eulersche Winkel.

Post by hammax »

… habe versucht meine "Hausaufgaben zu machen" und gesucht.
Am ehesten und informativsten trifft wohl dieser Post zu - Staub weg!
Ich möchte an die Eulerwinkel im Placement-Dialog mittels Spreadsheet (z.B.) rankommen,
ohne dauernd innerhalb meines Modells mehrere gleiche Maßgruppen zu ändern.
Leider besitzen die Eulerwinkel keine Formeleingangsoption.

Aber genau die Eulerwinkel sind die plausibelste Wahl (z.B. für ein CNC-Prog).
Gibt es da eine Lösung ohne gleich Py-programmieren zu müssen?
Nochmal zur Anschaulichkeit:
RollPitchYaw.PNG
RollPitchYaw.PNG (47.08 KiB) Viewed 1266 times
Attachments
Roll_Pitch_Yaw.FCStd
FC.18.14210
(105.6 KiB) Downloaded 29 times
User avatar
microelly2
Veteran
Posts: 4688
Joined: Tue Nov 12, 2013 4:06 pm
Contact:

Re: Konventionen für Eulersche Winkel.

Post by microelly2 »

Es gibt einen einfachen Aufruf in Python, um eine Rotation zu erzeugen
rotation=FreeCAD.Rotation(10,20,30)
dabei ist 10 die Richtung/yaw gier
20 die Steigung nick/pitch
und 30 die Seitenlage roll
das ist programmtechnisch nur eine zeile,
aber wie man das ohne diese Funktionsaufruf aus dem Spreadsheet in das Placement bekommt weiß ich nicht.
galou_breizh
Posts: 436
Joined: Wed Sep 15, 2010 9:38 am

Re: Konventionen für Eulersche Winkel.

Post by galou_breizh »

In meiner Version von FreeCAD gibt es einen Widerspruch in der Hilfe für die Pythonsche toEuler Funktion:

Code: Select all

>>> help(App.Rotation.toEuler)
Help on method_descriptor:

toEuler(...)
    toEuler(Vector) -> list
    Get the Euler angles of this rotation
    as yaw-pitch-roll in XY'Z'' convention

Es scheint, dass der Ausgang von toEuler entspricht tatsächlich yaw-pitch-roll aber es entspräche die ZY'X'' Konvention.

Danke,
Gaël

OS: Ubuntu 16.04.5 LTS
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.18.14727 (Git)
Build type: Release
Branch: master
Hash: c6df59969bfb3ae2027e2b47ddd559852f6e9a4e
Python version: 2.7.12
Qt version: 4.8.7
Coin version: 4.0.0a
OCC version: 7.3.0
Locale: English/UnitedStates (en_US)
Post Reply