Windows 8为Windows应用商店应用提供various sensors。其中一个是OrientationSensor。我真的不明白它的作用,或者它与Inclinometer的区别。
MSDN有一个相当简短的解释:
此传感器返回旋转矩阵和可以的四元数 用于在游戏应用程序中调整用户的视角。
因此,它返回3D旋转的数学表示(可能是?)对应于设备方向。但是倾角计基本上也是如此,尽管有不同的数学表示:
此传感器返回对应的俯仰,滚转和偏航值 分别围绕x,y和z轴的旋转角度。
我理解矩阵和四元数在某些情况下更可取,并且它们避免使用gimbal lock。但是倾角仪也可以提供。为什么有两个传感器呢?它们之间有什么区别?
答案 0 :(得分:2)
警告:我不是这个主题的专家,我的答案可能不准确或完全错误。
看起来它们都是h / w传感器 - 加速度计,陀螺仪和磁力计的传感器融合。 (https://blogs.msdn.com/b/b8/archive/2012/01/24/supporting-sensors-in-windows-8.aspx)
根据http://msdn.microsoft.com/library/windows/apps/hh465294.aspx, “开发人员通常使用这些数据来控制复杂的游戏。”
此外,http://msdn.microsoft.com/en-US/library/windows/apps/hh465282.aspx表示
四元数背后的数学是相当奇特的,因为它涉及复数的几何属性和虚数的数学属性,但使用它们很简单,像DirectX这样的框架支持它们。“
似乎OrientationSensor是一个方便的API,适用于那些确实很方便的情况。