ОБЩАЯ ИНФОРМАЦИЯ
https://lettvin.com/newBBK/orientation.html
Я написал это мобильное приложение для браузера HTML5, чтобы сообщать альфа / бета / гамму и угол портрета / ландшафта.Он также обеспечивает портретный режим визуального отображения углов.Нет проблем с этим.Не стесняйтесь "просмотреть источник" в моем приложении.Он был написан в стиле для разработчиков.Я рекомендую нажать кнопку «развернуть», чтобы перейти в полноэкранный режим и избежать помех, связанных с отображением строки местоположения.
Моя цель состоит в том, чтобы отображать трехмерные объекты, в которых вращение устройства должно вращать объект, чтобы его можно было увидеть с разных сторон.углы.
Проблема в том, что при определенных важных углах значения углов могут внезапно стать нестабильными и изменяться дико и непредсказуемо.Некоторые из этих углов являются общими положениями устройства, такими как прямой портрет или плоский на спине.Эта проблема, по-видимому, присуща событию ориентации устройства.
Я видел приложения, которые поддерживают стабильные углы для 3D-дисплеев независимо от таких неустойчивостей, как это:
https://richtr.github.io/Marine-Compass/
Я просматривал более недели, пытаясь найти достаточно простое решение для javascript, но не нашел ничего достаточно простого для адаптации.
ВОПРОС
Как получить устойчивые углы, как у этого морского пехотинцаПриложение Compass, так что я могу крутить устройство под любым углом без неустойчивости.Я не нуждаюсь в надежном северном направлении;только надежные углы поворота мобильного устройства.
КОД: (не очень актуально, но требуется)
function deviceOrientationListener(event) {
if (typeof event.alpha === "number") {
var angles = {
alpha : parseInt(event.alpha),
beta : parseInt(event.beta ),
gamma : parseInt(event.gamma),
screen: screen.orientation.angle,
};
turnPortrait(angles);
fillTabular (angles);
drawGraphics(angles);
}
}