您的位置:首页 > 其它

太阳、地球、月亮

2016-11-17 09:15 253 查看
void display(void)

{
glEnable(GL_DEPTH_TEST);
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);

glMatrixMode(GL_PROJECTION);  
         //定义一个可视空间,其以外的物体不会绘制,实现近大远小的功能
glLoadIdentity();
gluPerspective(75, 1, 1, 1400000000);

glMatrixMode(GL_MODELVIEW);                                 //进行变换前,需要把矩阵设为“模型视图矩阵”
glLoadIdentity(); 
gluLookAt(0, -200000000, 200000000, 0, 0, 0, 0, 0, 1);

glColor3f(1.0f, 0.0f, 0.0f);                                     //红色太阳
glutSolidSphere(69600000, 20, 20);

glColor3f(0.0f, 0.0f, 1.0f);                                                  //蓝色地球
glRotatef(day / 360.0*360.0, 0.0f, 0.0f, -1.0f);
glTranslatef(150000000, 0.0f, 0.0f);
glutSolidSphere(15945000, 20, 20);

glColor3f(1.0f, 1.0f, 0.0f);                                                                    //黄色月亮
glRotatef(day / 30.0*360.0 -day / 360.0*360.0, 0.0f, 0.0f, -1.0f);
glTranslatef(38000000, 0.0f, 0.0f);
glutSolidSphere(4345000, 20, 20);

glFlush();

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: