我如何感觉到可靠的移动设备角度



背景

https://lettvin.com/newbbk/orientation.html

我写了此HTML5移动浏览器应用程序,以报告alpha/beta/gamma和肖像/景观角度。它还强制执行肖像模式的视觉显示角度。没问题。随意在我的应用程序上"查看源"。它是以开发人员友好的风格编写的。我建议单击"展开"按钮以全屏进行全屏,并避免使用显示器的位置栏干扰。

我的目标是显示3D对象,其中旋转设备应旋转对象,以便从各个角度看到。

问题在于,从某些重要角度来看,角度的值可能会突然变得不稳定,并不可预测地变化。其中一些角度是常见的设备位置,例如直线肖像或背面平坦。这个问题似乎是设备方向事件的固有。

我看到的应用程序保持稳定的3D显示,独立于这样的不稳定性:

https://richtr.github.io/marine-compass/

我已经浏览了一个多星期,试图找到一个相当简单的JavaScript解决方案,但没有发现任何简单的适应性。

问题

我如何获得稳定的角度,例如海洋指南针应用,这样我就可以在没有不稳定性的情况下将设备扭曲。我不需要可靠的北方方向;仅可靠的移动设备扭转角。

代码:(并不相关,但请求)

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);
    }
}

我决定限制视角以避免不稳定性。

我将使用10< = beta< = 80和-45< = gamma< = 45支持翻译-90< = b< = 90和-90< = C< = 90其中B和C将用于旋转3D对象。

欢迎所有人查看应用程序。

相关内容

  • 没有找到相关文章