Obtención de Vector de Dirección en Android

¿Cómo puedo obtener un vector de dirección que represente la dirección hacia la que apunta la parte posterior del dispositivo en relación con las coordenadas de la Tierra?

Por ejemplo, si se coloca en un escritorio (pantalla hacia arriba), debe leer [0,0, -1] y si se mantiene verticalmente hacia el norte, debe leer [1,0,0], etc.

Sé cómo calcularlo a partir de rumbo, tono y balanceo, siempre que sean relativos a las coordenadas de la Tierra. Para ser claro aquí, no estoy buscando la velocidad angular, sino el ángulo actual actual con respecto al plano tangente a la tierra. Por lo tanto, si el dispositivo se mantiene vertical y hacia el norte, el ángulo "alfa" debería leer 0 o 360, el ángulo "beta" debería leer 90 y "gamma" debería leer 0. No puedo averiguar cómo obtener estos valores ya sea.

He estado leyendo la API todo el día y todavía no puedo encontrar ninguna de estas cosas.

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

Gracias por cualquier información.

Respuestas a la pregunta(2)

Su respuesta a la pregunta