iphone - 确定摇动速度

标签 iphone cocoa-touch

是否可以确定某人摇晃 iPhone 的速度?这将是他们开始移动到终点的时间,现在他们将返回原点。基本上我想测量的是一次滑动的速度。此讨论评论初始速度:http://discussions.apple.com/message.jspa?messageID=8297689#8297689 。 iPhone 似乎缺乏距离这个重要组成部分来很好地衡量速度。

最佳答案

当然,听起来您所需要做的就是对加速度进行两次数值积分以获得行驶的距离。例如,看看 Calculate the position of an accelerating body after a certain time

请注意,您必须从测量的加速度中减去重力才能获得动加速度,这就是您应该积分的值。至于如何做到这一点,请回复:GoatRider 的评论:我可能会尝试存储最后测量的加速度,其大小等于重力(我认为 iPhone 单位为 1?)。然后,对于您进行的大小大于 1 的每个加速度测量,减去最后已知的重力加速度 - 这将需要是矢量减法 - 并将其用作运动加速度。当然,这假设用户在整个滑动过程中将手机保持在同一方向,我认为这大致正确。

不幸的是,一般来说,没有任何技术可以用来区分重力加速度和运动加速度 - 也就是说,坚定的用户总能找到一种方法来欺骗您可能想出的任何算法。 (冷知识:这就是所谓的“等效原理”,它是爱因斯坦广义相对论的基础)

关于iphone - 确定摇动速度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/699035/

相关文章:

iphone - 如何防止 UIButton 在按下时突出显示?

ios - 如何为 i386 和 x86_64 架构构建 Cocoa Touch Framework?

iphone - 可以将 NULL 传递给 block 参数吗?

objective-c - UIWebView 是空白的?

iphone - NSString stringWithFormat 调用 XX 次导致内存警告

ios - iOS 9 swift 2 上的语音识别

ios - Swift 的 ".sort"在模拟器上有效,但在 iPhone 上无效

objective-c - iOS 4.3和iOS 5.0之间的iOS核心数据API有哪些更改?在哪里可以找到它们?

ios - Swift - 从字典数组中打印对象

iphone - cocoa touch -- 测试对象是否是 objective-C 对象