3D地球如何在android opengl中旋转自己的轴?

时间:2014-01-15 09:10:06

标签: android opengl-es 3d rotation

我正在通过android opengl开发一个非常简单的3D地球系统。 每个人都知道地球实际上是在一个被称为旋转轴的轴上旋转。地球的轴实际上像图像http://www.tutordynamic.com/science/earths-rotation.htm一样垂直倾斜23.5'。我可以通过glRotatef(32,0,0,1)围绕x,y,z轴旋转地球。但如何围绕自己的轴(23.5)旋转地球而不是x,y,z轴。你可以给我一些提示,代码或网站链接吗?

1 个答案:

答案 0 :(得分:0)

你需要在自己的轴和垂直倾斜的地球上连续旋转23.5(角度)。对于连续旋转,您需要计时器来改变旋转角度,并需要另一个旋转来倾斜地球。因此,首先围绕x轴以不断变化的旋转角度旋转地球,然后第二次围绕z轴旋转地球角度23.5。

示例伪代码:

glRotate3f(23.5,0,0,1); //rotaion about z-axis
glRotate3f(_angle,1,0,0);  //"_angle" is changing variable for continuous rotation of earth about x_axis
drawEarth(); // draw the earth