Если у меня есть простая веб-страница и скрипт, который выглядит так:
<body>
<div id="alpha">a</div>
<div id="beta">b</div>
<div id="gamma">g</div>
</body>
<script>
window.addEventListener('deviceorientation', function(event) {
var alpha = event.alpha;
var beta = event.beta;
var gamma = event.gamma;
document.getElementById("alpha").innerHTML = alpha;
document.getElementById("beta").innerHTML = beta;
document.getElementById("gamma").innerHTML = gamma;
}, false);
</script>
Я могу открыть его в мобильном Firefox для Android, и он выведет 3 числа, которые выглядят следующим образом:
89.256125
3.109375
0.28125
Где, когда я поворачиваю устройство, числа меняются в зависимости от оси вращения. Я заметил, что значения «альфа» действительно зашумлены — они постоянно прыгают, даже если телефон находится на моем столе, в то время как два других остаются стабильными. Я понимаю, что альфа моя рубрика. Тогда мне любопытно, получает ли он значение «альфа» от компаса (у которого есть проблемы с шумом), а два других — от гироскопа?
Другая проблема заключается в том, что когда я меняю высоту звука, по какой-то причине меняется и заголовок, даже если я на самом деле не меняю заголовок. Мне просто интересно, почему это так и как это можно исправить?
Кроме того, поскольку гироскоп измеряет угловую скорость, я предполагаю, что этот прослушиватель событий автоматически интегрирует его - так ли хорош алгоритм интеграции? Использует ли он акселерометр для коррекции дрейфа?
В этом видео google tech talk с 15:00 до 19:00 спикер рассказывает об исправлении дрейфа, присущего гироскопу, с помощью акселерометра, а также о калибровке ориентации по отношению к силе тяжести: http://www.youtube.com/watch?v=C7JQ7Rpwn2k Как мне это сделать?
Спасибо за любые идеи, которые могут быть у кого-то.