Sensordaten azimut, pitch, roll - wie kann ich die roll-Werte ignorieren und azimut umrechnen als wäre roll=0? Genauso bei pitch...

  • Antworten:7
KatjaHasi
  • Forum-Beiträge: 7

07.03.2014, 14:09:13 via Website

Hallo,
ich habe die Sensordaten azimut, pitch, roll. Ich möchte eine Figur sich 90° nach rechts oder links drehen lassen, wenn azimuth sich ändert. Soweit nicht das Problem. Wenn aber pitch < 30 soll die Figur geradeaus gehen. Es ändern sich nur leider dann bei der kleinsten roll-Wert Veränderung die Werte von azimut, womit die Abfrage nach azimut und das Auslösen der Drehung nicht mehr stimmt. Wie kann ich die roll-Werte ignorieren und azimut umrechnen als wäre roll=0? Genauso bei pitch...
Ich habe schon mal ein wenig gegoogelt, aber mit den Matrix-Rechnungen kann ich leider nichts anfangen. Gibt es eine Formel, womit ich das aus den Werten von azimut, pitch, roll umrechnen kann?
Viele Grüße,
Katja

Antworten
Pascal P.
  • Admin
  • Forum-Beiträge: 11.286

07.03.2014, 14:24:35 via Website

Könntest du bitte mal erklären für was diese (Azimut pitch roll etc.) gut sind ich hab es nicht verstenden.
Sensordaten von welchem Sensor?
Soll das eine Astronomische App werden?

LG Pascal //It's not a bug, it's a feature. :) ;)

Antworten
KatjaHasi
  • Forum-Beiträge: 7

07.03.2014, 14:30:33 via Website

Es soll eine Art Bewegungssteuerung werden. Wenn man sich mit dem Tablet dreht, dreht sich der hintergrund unter einer starren figur entsprechend 90° nach rechts oder links. Kippt man das Tablet nach vorne unten bewegt sich der hintergrund nach unten als würde man geradeaus gehen. Problem dabei ist, dass sich eben azimut und pitch ändern, wenn das Tablet seitlich gekippt wird.
Ich hoffe, jetzt ist es verständlicher...
Sensor: Accelerometer & MagneticField als Ersatz für Orientation (deprecated)

— geändert am 07.03.2014, 14:31:43

Antworten
Pascal P.
  • Admin
  • Forum-Beiträge: 11.286

07.03.2014, 14:34:15 via Website

Sorry bin trotzdem noch verwirrt. Du willst prüfen wie sich ein gerät bewegt und darauf dann entsprechend reagieren.
Was ist das genaue Problem dabei?

LG Pascal //It's not a bug, it's a feature. :) ;)

Antworten
KatjaHasi
  • Forum-Beiträge: 7

07.03.2014, 14:42:14 via Website

Ich mache die Bewegung nach rechts oder links von den Azimutwerten (Differenz von azimut alt zu azimut neu) abhängig, auch um die Drehrichtung zu erkennen. Wenn das Tablet nach links oder rechts gekippt wird, dreht sich der Hintergrund nun auch, obwohl man sich real nicht gedreht hat, da sich durch die Kippbewegung der azimut-Wert auch ändert und meine Auswertung durcheinander kommt. Deswegen würde ich die Kippbewegung quasi zurückrechnen als wäre sie nicht passiert. Das soll eine App für Kinder werden, deswegen sollen sie Stehen und sich selber drehen.

Antworten
KatjaHasi
  • Forum-Beiträge: 7

07.03.2014, 15:01:10 via Website

Für andere Vorschläge das zu Realisieren bin ich offen...

Antworten
Pascal P.
  • Admin
  • Forum-Beiträge: 11.286

07.03.2014, 15:04:19 via Website

Warum Prüfst du nicht erst die Roll werte und wenn diese sich nicht geändert haben, dann kannst du die Azimut werte anschauen

LG Pascal //It's not a bug, it's a feature. :) ;)

Antworten
KatjaHasi
  • Forum-Beiträge: 7

07.03.2014, 15:17:20 via Website

Das klappt nur bedingt, dann müsste ich die Kinder auffordern das Tablet wieder mit der unteren Kante waagerecht zu halten und den Wert dann nehmen, da sie sich ja drehen und eine Reaktion erwarten. Leider bin ich Geometrie nicht gerade die Beste... dann könnte ich mir das aus gemessenen Daten vielleicht noch annähernd zurechtrücken. Ich habe die Hoffnung, das da von euch einer mehr Durchblick hat und es vielleicht eine Lösung gibt, die jemand kennt. ;-)

Antworten