OpenGL ES在3轴旋转模型

时间:2012-05-01 10:24:24

标签: android opengl-es rotation

我在Android的OpenGL中使用模型旋转。

为什么下面这两个例子不会产生相同的结果?我想,当我围绕轴x然后yy然后x进行旋转时没有区别。

gl.glRotatef(_angleY, 0f, 1f, 0f); //ROLL
gl.glRotatef(_angleX, 1f, 0f, 0f); //ELEVATION
gl.glRotatef(_angleZ, 0f, 0f, 1f); //AZIMUTH


gl.glRotatef(_angleX, 1f, 0f, 0f); //ELEVATION
gl.glRotatef(_angleY, 0f, 1f, 0f); //ROLL
gl.glRotatef(_angleZ, 0f, 0f, 1f); //AZIMUTH

1 个答案:

答案 0 :(得分:0)

除非这些轮换同时应用,否则我认为顺序绝对重要。

如果我有一个立方体,我围绕 x轴旋转它并将正面移动到顶部,旋转后围绕 y轴原始正面仍然位于顶部

如果我首先围绕 y轴旋转,那么原始正面会被移到一边,所以当我围绕 x轴旋转 原始正面 NOT 旋转至顶部

我认为轮换顺序确实很重要。