- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
假设您有所有 3 个维度(即 X、Y 和 Z)的加速度读数。您如何根据读数推断手机向左或向右倾斜?读数每 20 毫秒生成一次。
我实际上想要从读数中推断倾斜度的逻辑。倾斜需要平滑。
最佳答案
可以通过多种不同的方式检测倾斜。您可以考虑 1 轴、2 轴或 3 轴。取决于您想要它的准确性,以及您有多想与数学作斗争。
如果只用一根轴,就很简单了。认为移动设备是完全水平的,然后像这样移动它:
只使用一个轴,比方说 x 轴就足够了,因为您可以准确地检测到该轴位置的变化,因为即使是任何小的移动都会使轴发生变化。但是,如果您的应用程序只读取那个轴,并且用户的手机几乎是垂直的,那么即使将手机旋转一个大角度,x 轴的差异也会非常小。不管怎样,对于只需要粗分辨率的应用,可以使用单轴。
参照基本三角学,重力矢量在 x 轴上的投影产生的输出加速度等于加速度计 x 轴与地平线之间夹角的正弦值。这意味着有了轴的值(那些是加速度值),您就可以计算出设备所在的角度。
这意味着传感器给您的值 = 到 9,8 * 角度的正弦值,因此通过计算您可以获得实际角度。
不过别担心,您甚至不必这样做。由于这些值或多或少是成比例的,如下表所示,您可以直接使用传感器的值,而不必太在意角度代表什么,如果您不需要它非常准确,由于该值的变化意味着角度的比例变化,因此通过一些测试,您会发现变化应该有多大才能与您相关。
因此,如果您获取一段时间内的值并相互比较,您可以计算出旋转幅度有多大。为此,
我希望这对你来说足够好。当然,您可以找到一些库或代码 fragment 来帮助您解决这个问题,但正如您所说,我认为了解从读数中推断倾斜度的逻辑是很好的
图片取自this article ,如果您想提高精度并考虑倾斜 2 o 3 轴,我建议您阅读
关于android - 如何检测安装了加速度计的安卓设备的左右倾斜?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20088549/
大家早上好! 我遇到以下问题:我有传感器加速度计并添加了一个可以帮助我输入另一个 Intent 的按钮,但不知道为什么这个按钮不起作用!有什么建议吗?谢谢帮助!! 程序是这样的: package co
我想使用手机加速计来滚动球中的球。运动有效正确的是,问题在于球撞到墙时。我怎样才能顺利滚动球沿着大球内侧滑动的动画? 这是我当前移动球并检查交点的代码: onSuccess: function
我是 Core Motion 的新手,我很困惑。有人可以用简单的术语解释这些输入衡量的是什么以及它们如何有用吗? 最佳答案 加速度计通过“感觉”施加到设备上的运动力来测量相对于重力的运动。运动力可以描
尝试测量基于距离的加速度(移动加速度计)。如果那是真的 Accelerometer { id: accel dataRate: 1000 / 25 onReadingChang
我需要实现一个震动识别器,我正在使用设备上的加速度计来实现这一点。但是,当我检查从传感器获得的值时,它们似乎因设备而异。例如,我在一台设备上得到 0-8 的值范围作为力(经过一些计算),在另一台设备上
我一直在尝试使用 sensors 实现陀螺仪图像查看器包,然而,结果似乎非常滞后。我在 YouTube 上发现了一个类似的项目它试图实现类似的目标,但正如您在视频中看到的那样,动画也非常滞后。 以下代
我必须找到解决问题的最佳方法,尝试识别 body 运动(口袋里有 iPhone),例如行走、停止、左转/右转、坐下。 我正在考虑只是启发式地查找与每个操作相对应的数据,然后根据该数据(带有阈值)检查传
如何平滑 iPhone/iPod Touch 的加速计? 最佳答案 您可以在使用之前对传入数据应用过滤器来平滑加速度计数据。您要做的第一件事是为您的过滤器设置一个常量。 #define kFilter
我想使用陀螺仪、加速度计和磁力计来获得 3 轴完全平滑的旋转。 第一个问题是我的输出有很大的噪音,我想知道如何消除它。 第二个问题是陀螺仪漂移,我认为应该用卡尔曼滤波器来解决。 第三个问题是加速度计。
我编写了让玩家左右移动的代码,当玩家向左移动时它有一个动画,当他向右移动时它有另一个动画。 这是代码(dt 是 deltaTime): // Moving player desktop
我最近在我的摩托罗拉 Droid 上使用 Android SDK 和适用于 Android SDK 的 Adobe AIR 来研究 Android 加速度计。我注意到加速度计工作得很好,但我想知道
我想创建一个用户在开车时无法打开短信的应用程序(意味着通过检查 android 设备特定速度的加速度计)。在 android 中是否可行,如果是,那么我们如何做到这一点。谢谢。 .尼山贾恩 最佳答案
我正在开发一个 iPhone 应用程序,我们试图在其中计算移动汽车的加速度。类似的应用程序已经完成了这一点(Dynolicious),但不同的是,这个应用程序是为一般城市驾驶而设计的,而不是在拖拉带上
当水平放置在平面上时,我的 Galaxy S4 报告恒定加速度 X:0.2 Y:-0.1 Z:10.4 由于它平稳地水平放置在 table 上,因此期望报告 X:0 Y:0 Z:10.4 通过检查与我
我目前正在开发一个 android 应用程序。我必须用事件时间记录加速度计传感器事件坐标。我得到了像“3497855005850”这样的传感器事件时间戳,但我无法将事件时间戳转换为用户可读的日期时间格
我正在尝试构建一个应用程序,用于从我的手机上读取加速度计的值,该应用程序仅支持 Android 2.1。 如何使用兼容 2.1 的代码从加速度计中读取数据? 最佳答案 从这里开始: public cl
我有两个问题: 1. 是否可以检索 b2Body 的当前 X 坐标?我知道 API GetPosition 但这还不够具体,我需要专门的 X 坐标。 2. 是否可以在我的 UIAcceleromete
Phonegap 加速度计似乎返回如下 y 值: // +10 y axis = straight up = 0/360 deg // -10 y axis = straight down = 180
我一直在使用这个代码 Android: I want to shake it实现摇动运动检测器。但实际上当我在我的智能手机上运行它时,它什么也没做。我尝试使用断点来检查,但它永远不会进入 if (mA
我正在 Android 中开发一个应用程序以及 Android Wear 支持。在查看来自 https://developer.android.com/training/building-wearab
我是一名优秀的程序员,十分优秀!