Может ли кто-нибудь дать какую-нибудь идею, чтобы рассчитать угол, на который стрелка компаса должна быть повернута, чтобы указать в направлении силы тяжести от значений акселерометра x, y, z?
Расчет угла акселерометра Android
Ответы (1)
Я думаю, что X должен быть равен 0, а y должен быть положительным, в то время как z близок к 0, чтобы компас указывал на землю. (Что означает, что телефон удерживается вертикально).
В общем, от угла 0 угол компаса должен быть примерно таким
float accelerometerMaxRange = 10; // This is NOT right, but it's a good value to work with
float newAngle = 0;
if (z > 9) {
// Phone is horizontally flat, can't point towards gravity, really. Do whatever you think is right
} else {
newAngle = (float)(x * 90 / accelerometerMaxRange);
if (y < 0) {
newAngle = 180 - newAngle;
}
}
person
Eliram
schedule
07.04.2012
Главный вопрос в том, сколько стоит
accelerometerMaxRange
;)
- person Tony Bogdanov; 25.06.2013