Я пытаюсь получить углы ориентации (Roll, Pitch, Yaw) мобильного телефона с помощью Sensor Manager, и в соответствии с тем, что написано на сайте разработчиков Android, метод
getInclination (float [] I)
Вычисляет угол наклона геомагнитного поля в радианах из матрицы наклона I>, возвращаемой getRotationMatrix (float [], float [], float [], float []). `
а также
getRotationMatrix (float [] R, float [] I, float [] гравитация, float [] геомагнитная)
Вычисляет матрицу наклона I, а также матрицу вращения R, преобразуя вектор> из системы координат устройства в мировую систему координат, которая определяется как> прямая ортонормированная основа. `и возвращает логическое значение.
У меня вопрос, как получить ориентацию, используя упомянутые методы?
код
@Override
public void onSensorChanged(SensorEvent event) {
// TODO Auto-generated method stub
float []I = new float[9];
float []R = new float[9];
if (event.sensor.getType() == Sensor.TYPE_ACCELEROMETER) {
float x = event.values[0];
float y = event.values[1];
float z = event.values[2];
tvX.setText(Float.toString(x));
tvY.setText(Float.toString(y));
//tvZ.setText(Float.toString(sm.getInclination(I)));
}
}