- Labornetzteil AliExpress         
Ergebnis 1 bis 6 von 6

Thema: Umrechnung Quaternionen -> Eulerwinkel

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Erfahrener Benutzer Fleißiges Mitglied Avatar von Defiant
    Registriert seit
    17.04.2005
    Ort
    Hamburg
    Beiträge
    183
    Ich kann leider in deinem Quellcode (Welche Sprache ist das eigentlich?) nicht so richtig den von der Wikipedia erkennen. Eine ordentliche Benennung der Variablen z.B. würde sicher helfen. Ich hab deine Variante mit dem Python code stichprobenartig verglichen und kann mehrere Unterschiede erkennen, z.B. stimmt deine Berechnung der Roll-Drehung mit der Berechnung um die Z-Achse (Also gieren) des Python-wikipedia codes überein.

  2. #2
    shedepe
    Gast
    Du musst außerdem dran denken die Quaternionen davor zu normieren. Da bin ich neulich mehrere Stunden dran verzweifelt.

  3. #3
    Neuer Benutzer Öfters hier
    Registriert seit
    14.11.2016
    Beiträge
    6
    Zitat Zitat von Defiant Beitrag anzeigen
    Ich kann leider in deinem Quellcode (Welche Sprache ist das eigentlich?)...
    Also die Sprache ist vb.Net, ist dir vielleicht durch Visual Studio bekannt.
    Ich habe den Code ein wenig angepasst und näher an das Original aus dem Wikipedia-Artikel gebracht
    Code:
                  'Formel zur Umwandlung quatertionen zu Euler-Winkel nach wikipedia
                            ' https://en.wikipedia.org/wiki/Conversion_between_quaternions_and_Euler_angles
                            '****************************
                            Dim ysqr = daten_winkel.y * daten_winkel.y
    
                            ' roll (x-axis rotation)
                            Dim t0 = +2.0 * (daten_winkel.w * daten_winkel.x + daten_winkel.y * daten_winkel.z)
                            Dim t1 = +1.0 - 2.0 * (daten_winkel.x * daten_winkel.x + ysqr)
                            Dim rollen = Atan2(t0, t1)
    
                            ' pitch (y-axis rotation)
                            Dim t2 = +2.0 * (daten_winkel.w * daten_winkel.y - daten_winkel.z * daten_winkel.x)
                            t2 = If(t2 > 1.0, 1.0, t2)
                            t2 = If(t2 < -1.0, -1.0, t2)
                            Dim nicken = Asin(t2) 'pitch
    
                            ' yaw (z-axis rotation)
                            Dim t3 = +2.0 * (daten_winkel.w * daten_winkel.z + daten_winkel.x * daten_winkel.y)
                            Dim t4 = +1.0 - 2.0 * (ysqr + daten_winkel.z * daten_winkel.z)
                            Dim gieren = Atan2(t3, t4)
    Ich habe heraus gefunden, dass auch die Orientierung eine sehr wichtige Rolle spielt, also um welche Achsen gedreht wird.
    So gibt es XYZ aber auch XYX und so weiter. Dazu finde ich diese Seite ganz gut http://bediyap.com/programming/conve...ler-rotations/
    Außerdem gibt es da für fast jede denkbare Orientierung schon Quellcode in C++.

    @shedepe Vielen Dank für den Hinweis! Das werde ich gleich umsetzen.

Ähnliche Themen

  1. Umrechnung MSB LSB zu INT
    Von Mauro im Forum C - Programmierung (GCC u.a.)
    Antworten: 10
    Letzter Beitrag: 18.08.2016, 18:48
  2. Weg umrechnung...
    Von linuxer7 im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 4
    Letzter Beitrag: 04.04.2013, 14:01
  3. Umrechnung lbf in Nm
    Von Cysign im Forum Motoren
    Antworten: 8
    Letzter Beitrag: 15.03.2013, 22:31
  4. Drehwinkelnberechnung mit Quaternionen
    Von Oumsalma Bernoussi im Forum Allgemeines zum Thema Roboter / Modellbau
    Antworten: 3
    Letzter Beitrag: 19.06.2011, 10:37
  5. Umrechnung
    Von Blackbumpkin im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 5
    Letzter Beitrag: 25.01.2006, 14:23

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

fchao-Sinus-Wechselrichter AliExpress