Core Motion是否能提供更准确或更快的加速度计读数?

4

我可以使用Core Motion框架的这种方法:

- (void)startAccelerometerUpdatesToQueue:(NSOperationQueue *)queue withHandler:(CMAccelerometerHandler)handler

作为替代方案,可以使用
- (void)accelerometer:(UIAccelerometer *)accelerometer didAccelerate:(UIAcceleration *)acceleration

UIAccelerationDelegate是UIKit的一个方法。在这里,我需要指定更新的频率。我希望尽可能快地获取加速度数据,并且精确无误。

Core Motion对我有用吗?从Core Motion的这个方法中,我可以期望读数的频率是多少?文档没有提及。


这完全是关于疯狂的科学。我们需要尽可能多的每秒读取数。 - Proud Member
1
[accelerometer:didAccelerate:] 在 iOS 5.0 中已被弃用(参见 UIAccelerometer.h)。 - user234736
1个回答

7

编辑!由于这个答案已经超过一年,所以它只有历史价值。目前,我猜想每个人都只需要使用CoreMotion就可以了。希望这个历史性的答案能够帮助历史学生们!


我的印象是:CMAttitude和CMDeviceMotion同事提供了加速计和陀螺仪(如果有)的优点。而CMAccelerometerData只有加速计。(就像在Core Motion之前的旧日子里一样。)

我认为CoreMotion的两个具体优点是:

(一)方便极了,Quaternions和姿态参数都被呈现在你的面前

(二)显然,在拥有陀螺仪的设备上,陀螺仪和加速计都被使用,而且不需要任何额外的操作...这是一个巨大的优势。

我相信,在使用加速计本身的质量方面,实际上并没有技术上的区别。

因此:如果(出于某些原因)您只需要加速计,并且可以做好数学计算(如果与您手头的任务有关),那么您可以使用旧式的加速计委托。

简而言之,似乎我们永远不会再使用旧式的加速计委托了!


1
有趣。谢谢你的帮助。 - Proud Member

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接