围绕另一个球体水平旋转球体

我现在有一个地球和一个月亮。 我想要实现的是让月球沿着圆形path在赤道上水平旋转

moonAngle = (moonAngle + 0.5f) % 360f; xPath = (float) Math.sin(Math.toRadians(moonAngle)) * distance; yPath = (float) Math.cos(Math.toRadians(moonAngle)) * distance; gl.glTranslatef(xPath, yPath, -30f); 

上面的工作很好,除了月亮围绕主子午线围绕地球旋转像一个挂钟。 如何调整旋转角度? 我已经尝试修改glTranslatef ,但没有成功。

您正在计算的Y偏移量实际上应该应用于Z轴:

 gl.glTranslatef(xPath, 0f, yPath - 30f);