Hallo,
ich lese mit GetComponents PositionArray die Transformationsmatrizen der einzelnen Baugruppen und Bauteile aus. Mit folgenden Rechenoperationen schließe ich auf die resultierende Transformationsmatrix des aktuellen Bauteils. So weit funktioniert das ganze auch. In der letzten stehen auch die exakten Verschiebungen des aktuellen Bauteils.
res(0) = a(0) * b(0) + a(1) * b(3) + a(2) * b(6)
res(3) = a(3) * b(0) + a(4) * b(3) + a(5) * b(6)
res(6) = a(6) * b(0) + a(7) * b(3) + a(8) * b(6)
res(1) = a(0) * b(1) + a(1) * b(4) + a(2) * b(7)
res(4) = a(3) * b(1) + a(4) * b(4) + a(5) * b(7)
res(7) = a(6) * b(1) + a(7) * b(4) + a(8) * b(7)
res(2) = a(0) * b(2) + a(1) * b(5) + a(2) * b(8)
res(5) = a(3) * b(2) + a(4) * b(5) + a(5) * b(8)
res(8) = a(6) * b(2) + a(7) * b(5) + a(8) * b(8)
res(9) = a(9) * b(0) + a(10) * b(3) + a(11) * b(6) + b(9)
res(10) = a(9) * b(1) + a(10) * b(4) + a(11) * b(7) + b(10)
res(11) = a(9) * b(2) + a(10) * b(5) + a(11) * b(8) + b(11)
Wie kann ich aber aus der Rotationsmatrix (die erstens 3 Spalten der res Matrix) auf die Drehwinkel um die x-Achse, y-Achse und z-Achse schließen? Alle bisherigen Recherchen im Internet und in Foren und die Umsetzung der entsprechenden Ergebnisse (z.B.:http://de.wikipedia.org/wiki/Roll-Nick-Gier-Winkel oder auch hier http://ww3.cad.de/foren/ubb/Forum137/HTML/001176.shtml#000010) führen nicht zu exakten Ergebnissen. Das heißt, die berechneten Winkel und die in Catia existierenden Rotationen (welche mit den Kompass oder den Verschiebetool ausgelesen werden können) stimmen bei einigen Bauteilen nicht überein.
Wer kann mir sagen wie Catia intern rechnet und wie ich dementsprechend die richtigen Winkel aus der Roationsmatrix raus bekomme?
Vielen Dak für eure Hilfe
Klaus
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP