Richtungsvektor in Android erhalten

Wie kann ich einen Richtungsvektor ermitteln, der die Richtung angibt, in die die Rückseite des Geräts relativ zu den Erdkoordinaten zeigt?

Wenn Sie zum Beispiel auf einen Schreibtisch stellen (Bildschirm zeigt nach oben), sollte der Wert [0,0, -1] und bei vertikaler Ausrichtung nach Norden [1,0,0] usw. lauten.

Ich weiß, wie man es aus Kurs, Nick und Roll berechnet, solange diese relativ zu den Erdkoordinaten sind. Um hier klar zu sein, suche ich nicht die Winkelgeschwindigkeit, sondern den aktuellen Winkel relativ zur Ebene, die die Erde tangiert. Wenn das Gerät vertikal gehalten wird und nach Norden zeigt, sollte der Winkel "alpha" 0 oder 360 sein, der Winkel "beta" sollte 90 sein und "gamma" sollte 0 sein. Ich kann nicht herausfinden, wie man diese Werte erhält entweder.

Ich habe die API den ganzen Tag gelesen und kann immer noch nicht herausfinden, wie ich an eines dieser Dinge komme.

public void onSensorChanged(SensorEvent event) {
    // ?    
}

Vielen Dank für eventuelle Einblicke.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage