Итак, это моя проблема. Я должен создать Солнечную систему с Солнцем в центре и вращающимися вокруг планетами; у каждой планеты должны быть свои луны.
Итак, я сделал все это, но я не могу заставить Землю вращаться вокруг себя ... Земля вращается вокруг Солнца, Луна вращается вокруг Земли ... Как я могу позволить Земле вращаться вокруг себя? ? Когда я помещаю в код другую «сверкающую» команду, Луна падает на Землю или случается что-то странное ...
Вот мой код ...
// EARTH
// INFO: 1) it's 3rd planet from the Sun;
// 2) it's 5th largest planet in the Solar System, with an equatorial radius of 6378.388km;
// 3) it's 3rd fastest planet, because its orbital period is of 365 earth-days (1 year).
void Earth(void)
{
DrawOrbit(5.5, 1);
glRotatef((GLfloat) year*6.2, 0.0, 1.0, 0.0); //orbital movement for the Earth around the Sun
glTranslatef(5.5, 0.0, 0.0);
glColor3f(0.0, 0.3, 1.0);
glutSolidSphere(0.28, 20, 10); //draw Earth: more or less, the Earth has got the same dimension of Venus.
// The Earth has got one natural satellites: the Moon. Let's draw it:
glPushMatrix();
glRotatef((GLfloat) day*2, 0.0, 1.0, 0.0); //rotate for the moon
glTranslatef(0.5, 0.0, 0.0);
glColor3f(1.0f, 1.0f, 1.0f);
glutSolidSphere(0.05, 5, 4); //draw moon: its diameter is about a quarter the diameter of Earth
glPopMatrix();
}