问题标签 [gyroscope]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
android - Android获得标准化加速
我希望得到 Android 手机的加速度矢量。问题是,加速度计坐标是相对于手机的旋转。我想要的是“绝对”加速,即无论手机面向何种方式,它都应该返回相同的值。(我想检测正在滑雪的用户是否在不使用 GPS 的情况下滑下斜坡。我还需要能够区分滑行和上缆车。)
我可能可以通过将加速度计与陀螺仪相结合来获得这些值,但我不知道如何用陀螺仪的值来抵消加速度计的值。
这可能吗?如果可以,怎么做?
ios - 使用渐变蒙版重绘图像时 IOS 的性能问题
我正在使用陀螺仪来处理旋转。对于我旋转 iPad 的每一度,我应该在屏幕上重新绘制图像以更改蒙版的高度。
但是重绘会停止陀螺仪。
这种情况我能做些什么?
添加了编辑代码
陀螺仪会给我一个值,我计算图像的高度。之后我调用这个函数来重绘蒙版和图像。因此,如果我滚动设备,图像会变暗或变暗。
ios - 如何在IOS中对图像进行盲目效果?
我想要这样,当我滚动 iPad 时,图像会向上/向下显示。效果应该是这样的
http://madrobby.github.com/scriptaculous/combination-effects-demo/盲下演示。
我怎样才能做到这一点?
我尝试了 Apple 的反射示例,但我遇到了性能问题,因为我应该在每个陀螺仪动作中重绘图像。
这是代码:
////
////
iphone - 如何创建新的 CMAtitude 参考框架以使重力在 Y 轴上
我希望能够更改设备运动管理器参考框架(用于陀螺仪),以便我的重力矢量位于 Y 轴上。
通常,当您启动设备运动管理器更新时,您只会让手机的 z 轴与重力对齐。
您可以更改它以使用磁力计使 x 轴与磁北极或真北极对齐。有了这个,我的 X 轴指向北方,Z 轴指向下方。
我想要做的是让我的 Y 轴(负)指向下方(使其与重力对齐)并且让我的 X 轴指向真正的磁极。
我想要的结果是,当我的手机以垂直(纵向)方向静止不动时,手机的右侧将与北极对齐,我所有的读数(滚动、俯仰、偏航)都将读取为 0。然后用如果我在 X 轴上旋转我的手机,俯仰会改变,如果我围绕 Y 轴旋转,偏航会改变。
到目前为止,我知道如果我将态度的倒数乘以先前存储的态度,我可以设置自己的参考系,(就像我可以手动将手机设置在这个方向一样,保存该态度并简单地将新态度乘以倒数这个存储的一个,我所有的读数都将与我想要的完全一样)。
但是手动设置它不是一个选项,那么我如何以编程方式进行设置呢?
我不认为有一个函数可以创建我自己的姿态参考系,或者如果至少有一个函数可以将姿态乘以旋转矩阵,那么我可能会解决这个问题。(因为我只是将所有的姿态乘以 90 度的音高变化)。
我希望我清楚地解释自己,
我将不胜感激任何建议。谢谢
PD:这些是 iPhone 方向坐标:
objective-c - 从陀螺仪获取角度
我正在做一个项目,其中一部分需要测量设备的旋转。我认为最有效的方法是使用陀螺仪,但如果我错了,请纠正我。我真的不知道从哪里开始,所以任何指针将不胜感激。
iphone - 核心运动陀螺仪 360 度值
我正在测试 Core Motion 并使用陀螺仪。现在我得到了我不理解的价值观。我的假设是,对于每个 x、y 和 z,我会得到一个介于 0-360 之间的值,这将是一个完整的旋转,但事实并非如此。
是否可以获得更多人类可读的旋转值?我的假设是我应该得到 0-360 之间的值是错误的吗?
android - 计算 Android 的 DeviceMotionEvent 值
我想使用Android 的 SensorEvent 提供的值来计算为DeviceMotionEvent指定的相同值。
我的问题是 Android 文档中提到 Gx、Gy、Gz 的部分:
gravity
该代码中引用的数组的值应该是什么?它还提到alpha
,但我仍然不明白它是什么/代表什么,等式是如何工作的(什么是低通滤波器?你如何确定“时间常数”?甚至测量的“交付率”是多少? ),或者为什么它甚至(相当随意地)设置为 0.8。
物理系我明显欠缺,但我懂数学。因此,如果有人愿意解释背后的物理推理,我将非常感激。我知道在我链接的页面上有对术语的解释,但它们在我的脑海中仍然没有任何意义,除了这些术语与设备沿哪些轴加速或旋转的图片相匹配。
android - 如何获得陀螺仪计算的初始方向?
我的问题可能很简单,但也可能是我完全错了——因此我决定问。最后,我将借助陀螺仪传感器的数据来计算手机的方向。我知道我应该使用卡尔曼滤波器或互补滤波器来应对陀螺漂移。我将在第二步中执行此操作,但我在这里提出的问题对于两种方法都是相同的。所以,真正的问题是:
从陀螺仪我只能得到角度变化(积分后)。所以我需要一些初始值,我可以添加当前测量的变化。但是我如何得到这个起点呢?我是否使用加速度计和磁力计来确定手机的方向?或者这有什么更好的方法吗?
如果这很重要,我会使用 Android 并有一个实现来借助加速度计和磁力计确定手机的方向,但它非常不准确。
ios - 传感器与指南针和陀螺仪融合:0 到 360 度之间
我正在开发一个小型室内导航应用程序,我在其中使用陀螺仪和指南针进行设备定位。我使用陀螺仪来平滑罗盘数据。我的传感器融合如下所示。这是我的motionHandler,一切都发生在这里。
实际的传感器融合公式是这一行:updatedHeading = (19.0*updatedHeading + 1.0*heading)/20.0;
。这是我的 didUpdateHeading 函数,它接收最新的标题信息:
diffYaw
是陀螺仪计算的航向变化。rotation
是最后一个四元数。这很完美,除了一种特殊情况:在 0 到 360 度之间的过渡。
如果updatedHeading
接近但小于 360 并且mHeading
刚好高于 0,则结果会移动一个圆圈。例如如果updatedHeading
= 355 和mHeading
= 5,正确的结果应该在 360 和 5 之间。但是我的公式计算的是 337.5 度,这显然是完全错误的!
我认为必须有任何常见的解决方法来解决这个问题……</p>
iphone - 陀螺仪的直线运动能被检测到吗?
如果我移动了一段距离,我可以通过陀螺仪知道吗?
为了详细说明我的问题,如果用户从起始位置移动几英尺,我能否检测到设备的运动?
提前致谢。