2024年4月15日发(作者:)
#include
static int day = 148; // day的变化:从0到359
void myDisplay(void)
{
glEnable(GL_DEPTH_TEST);
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
gluPerspective(75, 1, 1, 400000000);
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
gluLookAt(0, -200000000, 200000000, 0, 0, 0, 0, 0, 1);
// 红色的“太阳”
glColor3f(1.0, 0.0, 0.0);
glutSolidSphere(69600000, 100, 100);
// 蓝色的“地球”
glColor3f(0.0, 0.0, 1.0);
glRotatef(day/360.0*360.0, 0.0, 0.0, -1.0);
glTranslatef(150000000, 0.0, 0.0);
glutSolidSphere(15945000, 100, 100);
// 黄色的“月亮”
glColor3f(1.0, 1.0, 0.0);
glRotatef(day/30.0*360.0 - day/360.0*360.0, 0.0, 0.0, -1.0);
glTranslatef(38000000, 0.0, 0.0);
glutSolidSphere(4345000, 100, 100);
glFlush();
glutSwapBuffers();
}
void myIdle(void)
{
++day;
if( day >= 360 )
day = 0;
myDisplay();
}
int main(int argc, char *argv[])
{
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE);
glutInitWindowPosition(100, 100);
glutInitWindowSize(450, 450);
glutCreateWindow("张鹏飞-魏万晓");
glutDisplayFunc(&myDisplay);
glutIdleFunc(&myIdle);
glutMainLoop();
return 0;
}
发布者:admin,转转请注明出处:http://www.yc00.com/news/1713135262a2189832.html
评论列表(0条)