我使用Sensor.TYPE_ROTATION_VECTOR从Android的getQuaternionFromVector()融合传感器获得四元数。我想用那个四元数控制我的Rajawali应用程序的相机。
我从传感器获得的值(w,x,y,z)是(手机在横向,直视前方):
我需要将这些值转换为这些正确的值:
通过一些试验和错误,我已经找到了解决方案,但我还有一些方法。如果我首先相对于Y轴旋转90度,并且相对于X轴旋转-90度:
Quaternion a = new Quaternion(Vector3.Y, 90);
a.multiply(q);
Quaternion b = new Quaternion(Vector3.X, -90);
b.multiply(a);
我得到的价值是:
结果是北方正确,向东向上,向西向下,向南向上。我注意到轴承与节距混合在一起(我改变了设备的节距,相机的轴承也发生了变化,并且切换了)。
有关如何修改传感器四元数以匹配预期的四元数值的任何建议吗?如何更改它以使传感器轴承改变相机轴承而不是间距?
提前致谢!
答案 0 :(得分:0)
管理以解决它。
<appsettings>
<add key="WebSharper.JQuery.Resources.JQuery" value="//code.jquery.com/jquery-1.11.1.min.js" />
...