Получение вектора направления в Android

Как я могу получить вектор направления, представляющий направление задней части устройства относительно земных координат?

Например, если поместить его на стол (экраном вверх), он должен читать [0,0, -1], а если держать вертикально лицом к северу, он должен читать [1,0,0] и т. Д.

Я знаю, как рассчитать его по курсу, тангажу и крену, если они относятся к земным координатам. Чтобы быть ясным здесь, я не ищу угловую скорость, но фактический текущий угол относительно плоскости, касательной к земле. Поэтому, если устройство удерживается вертикально и направлено на север, угол «альфа» следует читать 0 или 360, угол «бета» должен читать 90, и "гамма" должен читать 0. Я также не могу понять, как получить эти значения.

Я читал API весь день и до сих пор не могу найти, как получить что-то из этого.

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

Спасибо за любые идеи.

Ответы на вопрос(2)

Ваш ответ на вопрос