《计算机图形学OpenGL中绘制太阳-地球-月亮的运动模型源代码(共2页).doc》由会员分享,可在线阅读,更多相关《计算机图形学OpenGL中绘制太阳-地球-月亮的运动模型源代码(共2页).doc(2页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精选优质文档-倾情为你奉上#include static int day = 148; / day的变化:从0到359void myDisplay(void) glEnable(GL_DEPTH_TEST); glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); glMatrixMode(GL_PROJECTION); glLoadIdentity(); gluPerspective(75, 1, 1, ); glMatrixMode(GL_MODELVIEW); glLoadIdentity(); gluLookAt(0, -, , 0, 0
2、, 0, 0, 0, 1); / 红色的“太阳” glColor3f(1.0, 0.0, 0.0); glutSolidSphere(, 100, 100); / 蓝色的“地球” glColor3f(0.0, 0.0, 1.0); glRotatef(day/360.0*360.0, 0.0, 0.0, -1.0); glTranslatef(, 0.0, 0.0); glutSolidSphere(, 100, 100); / 黄色的“月亮” glColor3f(1.0, 1.0, 0.0); glRotatef(day/30.0*360.0 - day/360.0*360.0, 0.0,
3、0.0, -1.0); glTranslatef(, 0.0, 0.0); glutSolidSphere(, 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;专心-专注-专业