|
|
1
58
要获得陀螺仪更新,您需要创建一个运动管理器对象和一个可选(但推荐)参考姿态对象。 因此,在接口定义中添加:
根据文档,每个应用程序只能创建一个这样的管理器。我建议让MotionManager可以通过单个实例访问,但这是一些额外的工作,如果只实例化一次类,则可能不需要做这些工作。 然后在init方法中,您应该这样分配motion manager对象;
当您想要启用运动更新时,您可以创建一个EnableMotion方法,或者从init方法调用它。以下内容将存储初始装置姿态,并使装置继续对陀螺仪进行采样并更新其姿态特性。
对于虚拟现实应用来说,使用陀螺仪和OpenGL非常简单。 您需要获得当前的陀螺姿态(旋转),然后将其存储在OpenGL兼容的矩阵中。下面的代码检索并保存当前设备运动。
这取决于你想用它做什么,你可能需要颠倒它,这很容易。 一个旋转的倒数就是它的转置,这意味着交换列和行。 因此,上述内容变成:
如果你想要横摆角、纵摇角和横摇角,你可以使用
|
|
|
2
15
作为一个非常简单的项目,我一直在寻找一些示例代码。经过几天的搜索,我终于找到了它。给你们,伙计们! http://cs491f10.wordpress.com/2010/10/28/core-motion-gyroscope-example/ |
|
|
3
5
核心运动是如何获取陀螺仪数据的。查看CMGyrodata以获取原始数据,或使用设备情感态度和旋转速率属性。 如果你是注册的苹果开发者,我建议你观看“设备运动”WWDC会话。 |
|
|
4
3
下面是一些苹果公司的coremation框架示例代码: http://developer.apple.com/library/ios/#samplecode/pARk/Introduction/Intro.html#//apple_ref/doc/uid/DTS40011083 以及老式的uiaccelerator(但是它有一些很好的示例代码用于使用OpenGL): http://developer.apple.com/library/ios/#samplecode/GLGravity/Listings/Classes_GLGravityView_m.html#//apple_ref/doc/uid/DTS40007327-Classes_GLGravityView_m-DontLinkElementID_6 |