我可以讓地球圍繞太陽旋轉並圍繞自己的軸旋轉,但是我無法讓月球繞着地球旋轉。 (我只是希望它的流通周圍,我並不需要計算重力或類似的東西。)與太陽有關的月球軌道
這裏是我的代碼:
double earth_x = 50.0 * cos(orbit/180.0 * Math::Constants<double>::pi);
double earth_y = 45.0 * sin(orbit/180.0 * Math::Constants<double>::pi);
glMatrixMode(GL_MODELVIEW);
glPushMatrix();
//sun
glMaterialAmbientAndDiffuse(GLMaterialEnums::FRONT,GLColor<GLfloat,4>(1.5f,1.0f,0.0f));
glTranslate(0.0f, 0.0f, 0.0f);
glRotate(0.0, 0.0, 0.0, 00.0);
drawEllipsoid(10.0, 1.0, 4, 4);
//Earth
glPushMatrix();
glTranslate(earth_x, earth_y, 0.0);
glMaterialAmbientAndDiffuse(GLMaterialEnums::FRONT,GLColor<GLfloat,4>(0.2f,50.0f,50.5f));
glRotatef(110,0.0,23.0,110.0f);
glRotatef(orbit2, 0.0f, 0.0f,1.0f);
drawPlanetGrid(5, 1, 20, 20, 1.5);
glPopMatrix();
glMaterialAmbientAndDiffuse(GLMaterialEnums::FRONT,GLColor<GLfloat,4>(50.2f,50.0f,50.5f));
//Moon
glTranslate(earth_x+10, earth_y+10, 0.0);
glRotate(moonOrb, 0.0, 0.0, 1.0);
drawEllipsoid(1, 1, 9, 9);
moonOrb += .5;
if (moonOrb > 360)
moonOrb = 0.0;
orbit += .9;
if (orbit > 360)
{
orbit = 0;
}
orbit2 += 6.5;
if (orbit2 > 360)
{
orbit2 = 0;
}
任何想法可能是錯我的代碼? 截至目前,我的物體沒有紋理,所以這就是爲什麼它從代碼中缺失。我只是試圖瞭解太陽系如何在對尺寸,軌道形狀等進行任何改變之前進行工作。
通過軌道,你只是指圓圈,而不是計算重力和力量等。 –
是的,這是正確的。我只是想讓它在我的「地球」球體周圍流通。 – TRod