首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >空气陀螺仪的数据在iOS和Android上似乎有很大的不同。

空气陀螺仪的数据在iOS和Android上似乎有很大的不同。
EN

Stack Overflow用户
提问于 2014-02-16 23:24:02
回答 1查看 1.4K关注 0票数 0

我已经创建了一个应用程序,它在Android中很好地使用了Gyrosope本地扩展程序,并且运行得非常完美。

然而,现在我已经在使用AIR 4.0的iPhone 4 (iOS7)上进行了测试,而陀螺仪的性能似乎完全不同,在这里倾斜似乎除了旋转手机什么也不做。

有没有人知道这些数据在iOS和Android上的工作方式是否有很大的不同?

我似乎有一个http://www.ketzler.de/2011/11/adobe-air-gyroscope-native-extension-with-euler-angles-roll-pitch-yaw-for-ios/,我正在考虑尝试使用。

这是替换还是对现有本机扩展的补充?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-02-18 01:45:09

通过使用多个传感器来计算设备的位置,你会得到更好的结果。您所提到的扩展通过iOS SDK中的内置函数实现了这一点。利用现有传感器的融合,你可以从陀螺仪得到快速的响应,但是使用加速度计和磁强计来解释漂移。

在iOS上,它使用CMAttitude类(这是您提供的ane链接所使用的):

Class/Reference/Reference.html

在这两个平台上使用这一技术肯定会使数据更加接近,但是在Android上有几种不同的方法,因为您可以访问更多的信息。当然,Android上最大的问题是,所有不同的硬件使用,所以传感器都报告的范围和值略有不同。我发现最好的方法是使用TYPE_ROTATION_VECTOR传感器,然后使用SensorManager.getOrientation函数,如果你想要的是欧拉角。我还尝试了一种自定义融合算法,其结果参差不齐。

VECTOR

我还建议您研究四元数,这为设备定位提供了更好的结果,并避免了相关的万向节锁定。

对于distriqt的扩展包,我花了很长时间来研究这一切,如果您对此感兴趣,我将发布一个新的DeviceMotion扩展。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21818206

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档