WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Eulersche

 

cryosat
Forum-Anfänger

Forum-Anfänger


Beiträge: 16
Anmeldedatum: 03.08.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 18.02.2013, 10:07     Titel: Eulersche
  Antworten mit Zitat      
Hallo allesamt.

Ich habe ein set an Positions-Winkel (Elevation und Azimuth, mit denen man einen Positions-vektor in einem sphaerischen Koordinatensystem beschreibt), welche in Eulersche Winkel umgewandelt werden sollen.

Anbei eine Grafik der beiden Winkelsysteme.
Weiss jemand mit welchen Formeln ich von der einen Raepresentation in die andere wechseln kann?

Dankeschoen

300px-Euler.png
 Beschreibung:
Euler

Download
 Dateiname:  300px-Euler.png
 Dateigröße:  37.2 KB
 Heruntergeladen:  1102 mal
chview3.gif
 Beschreibung:
Elevation and Azimuth

Download
 Dateiname:  chview3.gif
 Dateigröße:  3.75 KB
 Heruntergeladen:  975 mal
Private Nachricht senden Benutzer-Profile anzeigen


Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 18.02.2013, 16:18     Titel: Re: Eulersche
  Antworten mit Zitat      
Hallo cryosat,

Die Umrechnung ist im Falle eines Vektors einfacher, da die letzte Drehung um den Winkel Gamma bei den Euler-Winkeln wegfällt - eine Rotation im den Vektor selbst ändert ja nichts.
Nun gibt es verschiede Euler-Winkel, jenach der Reihenfolge der Achsen um die gedreht wird. In Deinem Fall ist die Reihenfolge ZXZ. Da nun die letzte Rotation um die (neue!) Z-Achse wegfällt, sind Elevation und Azimuth direkt mit alpha und beta korreliert. Also bis auf Subtraktion von 90 oder 180 oder ein Vorzeichenwechsel ist also wohl nicht nötig.

Gruß, Jan
Private Nachricht senden Benutzer-Profile anzeigen
 
cryosat
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 16
Anmeldedatum: 03.08.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 18.02.2013, 16:21     Titel: Re: Eulersche
  Antworten mit Zitat      
Jan S hat Folgendes geschrieben:
Hallo cryosat,

Die Umrechnung ist im Falle eines Vektors einfacher, da die letzte Drehung um den Winkel Gamma bei den Euler-Winkeln wegfällt - eine Rotation im den Vektor selbst ändert ja nichts.
Nun gibt es verschiede Euler-Winkel, jenach der Reihenfolge der Achsen um die gedreht wird. In Deinem Fall ist die Reihenfolge ZXZ. Da nun die letzte Rotation um die (neue!) Z-Achse wegfällt, sind Elevation und Azimuth direkt mit alpha und beta korreliert. Also bis auf Subtraktion von 90 oder 180 oder ein Vorzeichenwechsel ist also wohl nicht nötig.

Gruß, Jan


Hallo Jan. Das hatte ich mir auch gedacht, ist aber nicht so.
Elevation ist alpha, Azimuth ist aber nicht beta.
Ein Beispiel: wenn Elevation = 0 ist und man beta verstellt, bleibt der Winkel immer der selbe. Wenn elevation nicht null ist, dann rotiert die Z Achse um sich selbst wenn man beta verstellt.
Herzlichend Dank schon eimal, dass du dich mit meinem Problem befasst hast.
Private Nachricht senden Benutzer-Profile anzeigen
 
Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 18.02.2013, 22:44     Titel: Re: Eulersche
  Antworten mit Zitat      
Hallo cryosat,

Zitat:
Elevation ist alpha, Azimuth ist aber nicht beta.

Ich hätte gedacht, dass alpha der Azimuth ist und 90-beta die Elevation.

Vielleicht wäre eine Suche im Netz sinnvoll. Z.B. https://www.agi.com/resources/help/.....ce/stk/sn-orientation.htm:
Zitat:
Indicates rotation about the Z axis of the sub-component reference frame by the azimuth angle, followed by rotation about the new Y axis by 90 degrees minus the elevation angle. Users familiar with Euler angle sequences will recognize this as a 323 rotation sequence where the first rotation is by the azimuth angle, the second rotation is 90 degrees minus the elevation angle, and the third rotation angle is zero.

Aber Google findet noch weit mehr zu "Euler angle Azimuth Elevation".

Gruß, Jan
Private Nachricht senden Benutzer-Profile anzeigen
 
cryosat
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 16
Anmeldedatum: 03.08.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 19.02.2013, 10:50     Titel:
  Antworten mit Zitat      
Hallo Jan.

Herzlichen Dank fuer deine auskunftsreiche Antwort. Ich hab versucht dank deines Links und der recherche in Google etwas naeheres dazu zu finden, schaffe aber leider nicht schluessig zu werden.

Ich habe auch ein Simulations programm auf dem ich arbeite und nachvollziehen kann ob die Elevation und Azimuth Winkel, die ich mit Matlab ausrechne korrekt implementiert werden, aber leider nicht.

Ja, ich habe mich getaeuscht. Haengt davon ab, wie man die Winkel definiert (da ich die z-achse mit der x-achse im Simulations programm vertauscht hatte, aber das ist irrelevant).
Auch wenn ich ein normales x,y,z Korrdinatensystem definiere, scahffe ich es nicht einfach nur einen Vektor um PHI von der x-achse zur y-achse hin zu "verschieben" (azimuth) um ihn dann vom x,y-plane aus in richtung positive z-Werte zu "erheben" (elevation).

Geht einfach nicht, was auch immer ich mache dreht sich entweder auch die z-achse oder verschiebt sich x,y.
Ich sehe leider keine 1 zu 1 Korrespondenz und konnte diese nach recherchieren leider auch nicht finden. Sad
Private Nachricht senden Benutzer-Profile anzeigen
 
Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 01.03.2013, 11:00     Titel:
  Antworten mit Zitat      
Hallo cryosat,

Es gibt gar kein "normales x,y,z-Koordinatensystem". Alle Koordinatensysteme sind eine frei wählbare Parametrisierung des Raumes, sie können also so gelegt werden, wie es für die Berechnungen am geschicktesten ist. Bei Bedarf müssen die Achsen nicht mal senkrecht aufeinander stehen oder gerade sein.

Zitat:
Ich habe auch ein Simulations programm auf dem ich arbeite und nachvollziehen kann ob die Elevation und Azimuth Winkel, die ich mit Matlab ausrechne korrekt implementiert werden, aber leider nicht.

Ich kann diesem Satz nicht oder kaum folgen. Was genau "leider nicht"?! Es gibt in Matlab's FileExchange einige Beiträge zum Thema Euler-Winkel. Eine Suche dort würde sich also lohnen.

Für Azimuth und Elevation benötigst Du zwei einfache Rotationen. Zunächst um die Z-Achse, dann um die (neue!) y-Achse:
Code:
Rz = [cos(a), -sin(a), 0; sin(a), cos(a), 0; 0,0,1];
Ry = [cos(e), 0, -sin(e); 0, 1, 0; sin(e), 0, cos(e)];

Ein beliebiger Vektor (in Deinem fall wohl [1, 0, 0]) wird dann so transformiert:
Code:
xx = Ry * Rz * x

Die Rotationsmatrix Ry*Rz ist eine 3x3 Matrix, und man kann sie durch Euler-Winkel in jeder gewünschten Reihenfolge ausdrücken. Die WikiPedia-Seiten zum Thema "Euler Winkel" und "Rotationsmatrix" sind dazu stichhaltig.

Gruß, Jan
Private Nachricht senden Benutzer-Profile anzeigen
 
cryosat
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 16
Anmeldedatum: 03.08.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 01.03.2013, 13:34     Titel:
  Antworten mit Zitat      
Perfekt.
Ich hatte dabei einen Fehler gemacht, du hast ihn mir durch die korrekte Rotationsmatrix behoben.
Herzlichen Dank, sehr gut auch beschrieben, konnte ich sofort nachvollziehen,

Christian
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum posten
Du kannst Dateien in diesem Forum herunterladen
.





 Impressum  | Nutzungsbedingungen  | Datenschutz | FAQ | goMatlab RSS Button RSS

Hosted by:


Copyright © 2007 - 2024 goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks

MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.