1
我想旋转位于我的OpenGL-World的(X,Y,Z)=(0,0,0)
的模型(地形)。 +X
是东,-Z
是北,+Y
是高度。查看正在寻找-Y
,因为设备欧拉角是(0°,0°,0°)
而设备躺在桌子上指向北方。为OpenGL ES2模型旋转切换设备轴旋转矩阵
的问题:
我需要切换我的设备的轴来测量角度device -y
更改为device z
。
目前围绕device x-axis
工程轮换(结果在World X-axis
左右轮换)。
但左右旋转device y
导致周围World Y
而不是World -Z
和旋转的旋转围绕device z
以旋转周围World Z
代替World Y
。
现在我已经没有想法如何解决这个问题了。任何人都可以给我一个提示吗?
(OpenGL) (Device)
^+Y-axis ^+z-axis
* *
* *
* * ^+y-axis (North)
* * *
* * *
* * *
************> + X-axis ************> +x-axis
*
*
v +Z-axis (Minus North)
我试过到目前为止:
- 使用从欧拉角
SensorManager.getOrientation
和开关角工作正常,但我进入万向节锁定密齿90度到。所以我正在寻找另一个解决方案(SensorManager
旋转矩阵或四元数)。 SensorManager.remapCoordinateSystem
几乎在每一个可能的星座 - >没有帮助- 更改的cols /从
SensorManager.getRotationMatrix
我旋转矩阵的行 - >没有帮助