gpt4 book ai didi

javascript - 为什么 DeviceMotion 中的值不为零?!

转载 作者:行者123 更新时间:2023-12-02 17:42:25 34 4
gpt4 key购买 nike

我正在 Android 上测试 DeviceMotion 事件,并将值绘制在图表上。由于它们是加速度值(无重力),因此如果设备处于静止状态,那么这些值在技术上应该为零。然而,当我将它们绘制在图表上时,情况似乎并非如此:

enter image description here

http://jsfiddle.net/DerekL/Hgxde/17/show

如您所见,accz 大部分时间为 -0.7,而其他时间则接近 0。而且它们似乎不是正确的加速度值。如果您查看 t=0 附近的值,那么当设备实际上并未移动时,它们并不在 0 处。为什么会发生这种情况以及如何“修复”此问题?

最佳答案

我假设 Z 轴为 -0.7,因为该软件假设地球重力为 9.8(这在海平面上平均而言是正确的)。然而,传感器测量的值为 9.1,因此差异减少了 0.7(大约减少了 7%)。

虽然地球重力确实存在变化(参见:http://en.wikipedia.org/wiki/Gravity_of_Earth),但与山顶的极低重力和北冰洋异常高的重力相比,最大变化约为 0.7%。

从维基百科页面我们找到了方程:

gh = g * square(r/(r+h))

/* gh = gravity at h
* h = height
* r = earth's radius
* g = earth's gravity
*/

重新排列我们得到的公式:

h = r/sqrt(gh/g) - r

计算你测量的重力(在摆弄大括号之后)我将其插入谷歌:

(radius of earth / sqrt((9.1m/(s^2))/earth gravity)) - radius of earth

谷歌返回结果:243.012479公里

作为比较,LEO 卫星轨道的起点为 160 公里。因此,您要么在太空中,要么您的 Android 设备尚未校准。我猜是第二个,因为如果你在太空中,你会处于自由落体状态,你的设备读数应该接近零重力,而不是 9.1。

至于小 Action 。好吧,除非您将设备与地面完全隔离,否则大多数现代 MEMS 加速计都足够灵敏,可以检测到外面汽车的交通情况或房间内行走的人的交通状况。再说一遍,如果您的 Z 轴未校准,如果您的其他轴也报告错误,我不会感到惊讶。

关于javascript - 为什么 DeviceMotion 中的值不为零?!,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22085540/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com