Получение вектора направления в Android
Как я могу получить вектор направления, представляющий направление задней части устройства относительно земных координат?
Например, если поместить его на стол (экраном вверх), он должен читать [0,0, -1], а если держать вертикально лицом к северу, он должен читать [1,0,0] и т. Д.
Я знаю, как рассчитать его по курсу, тангажу и крену, если они относятся к земным координатам. Чтобы быть ясным здесь, я не ищу угловую скорость, но фактический текущий угол относительно плоскости, касательной к земле. Поэтому, если устройство удерживается вертикально и направлено на север, угол «альфа» следует читать 0 или 360, угол «бета» должен читать 90, и "гамма" должен читать 0. Я также не могу понять, как получить эти значения.
Я читал API весь день и до сих пор не могу найти, как получить что-то из этого.
public void onSensorChanged(SensorEvent event) {
// ?
}
Спасибо за любые идеи.