当我在安卓应用中监听方向事件时,我会得到一个SensorEvent,其中包含了3个浮点数 - 方位角、俯仰角和横滚角,这些角度与现实世界的坐标轴有关。
现在假设我正在构建一个像迷宫一样的应用程序,但我不想强制用户将手机放置在地面上并使xy平面与地面平行。相反,我希望能够允许用户按照自己的意愿握着手机,躺下或者坐着,或者以一定的角度握着手机。换句话说,我需要根据用户的喜好来校准手机。
我该怎么做呢?
请注意,我认为我的答案与getRotationMatrix和getOrientation有关,但是我不确定如何使用!
请帮忙!我已经被困在这里几个小时了。
现在假设我正在构建一个像迷宫一样的应用程序,但我不想强制用户将手机放置在地面上并使xy平面与地面平行。相反,我希望能够允许用户按照自己的意愿握着手机,躺下或者坐着,或者以一定的角度握着手机。换句话说,我需要根据用户的喜好来校准手机。
我该怎么做呢?
请注意,我认为我的答案与getRotationMatrix和getOrientation有关,但是我不确定如何使用!
请帮忙!我已经被困在这里几个小时了。
校准
时,您会存储结果 R 矩阵(称其为 Ri)。然后,您需要从游戏时间中您的设备进一步读取的数据中“减去”这个矩阵,该矩阵表示从世界坐标到初始设备方向的旋转。基本上,当前方向(Rc)到初始方向(Ri)的旋转矩阵 R 是R = inv(Ri) * Rc
。 - ysap