// ConsoleApplication1.cpp : 定义控制台应用程序的入口点。 // #include "stdafx.h" #include
<GL/glut.h> #include <stdlib.h> static int year = 0, day = 0,year2 = 0,day2 =
0; void init(void) { glClearColor (0.0, 0.0, 0.0, 0.0); glShadeModel (GL_FLAT);
} void display(void) { glClear (GL_COLOR_BUFFER_BIT); glColor3f (1.0, 1.0,
1.0); glPushMatrix(); // glRotatef(90.0,1.0,0.0,0.0); glutWireSphere(1.0, 20,
16); /* draw sun */ glPopMatrix(); glPushMatrix(); glRotatef ((GLfloat) year2,
0.0, 1.0, 0.0); glTranslatef (2.0, 0.0, 0.0); glRotatef ((GLfloat) day2, 1.0,
1.0, 0.0); glutWireSphere(0.1, 10, 8); /* draw another smaller planet */
glPopMatrix(); glPushMatrix(); glRotatef ((GLfloat) year, 0.0, 1.0, 0.0);
glTranslatef (1.5, 0.0, 0.0); glRotatef ((GLfloat) day, 1.0, 1.0, 0.0);
glRotatef(-45.0,0.0,0.0,1.0); glRotatef(90.0,1.0,0.0,0.0); glutWireSphere(0.2,
10, 8); /* draw smaller planet */ glPopMatrix(); glutSwapBuffers(); } void
reshape (int w, int h) { glViewport (0, 0, (GLsizei) w, (GLsizei) h);
glMatrixMode (GL_PROJECTION); glLoadIdentity (); gluPerspective(60.0, (GLfloat)
w/(GLfloat) h, 1.0, 20.0); glMatrixMode(GL_MODELVIEW); glLoadIdentity();
gluLookAt (0.0, 0.0, 5.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0); } void keyboard
(unsigned char key, int x, int y) { switch (key) { case 'd': day = (day + 10) %
360; glutPostRedisplay(); break; case 'D': day = (day - 10) % 360;
glutPostRedisplay(); break; case 's': day2 = (day2 + 10) % 360;
glutPostRedisplay(); break; case 'S': day2 = (day2 - 10) % 360;
glutPostRedisplay(); break; case 'y': year = (year + 5) % 360; year2 =
(year2+3)%360; glutPostRedisplay(); break; case 'Y': year = (year - 5) % 360;
year2 = (year2-3)%360; glutPostRedisplay(); break; case 27: exit(0); break;
default: break; } } int main(int argc, char** argv) { glutInit(&argc, argv);
glutInitDisplayMode (GLUT_DOUBLE | GLUT_RGB); glutInitWindowSize (500, 500);
glutInitWindowPosition (100, 100); glutCreateWindow (argv[0]); init ();
glutDisplayFunc(display); glutReshapeFunc(reshape); glutKeyboardFunc(keyboard);
glutMainLoop(); return 0; }

技术
©2019-2020 Toolsou All rights reserved,
C语言表白练习小程序(适合初学者)ELementUI select多选下拉框获取选中项的全部属性(精华)2020年6月26日 C#类库model PageInputjava几种常见运行时异常及简单例子Vue页面跳转传递参数及接收keras从dataframe中读取数据并进行数据增强进行训练(分类+分割)华为鸿蒙操作系统有哪些特点和优势?余承东《全场景时代 新体验与新生态》演讲全文Map 判断key对应的value值是否存在-containsKey()PostgreSQL: 九. 索引Element-UI二次封装实现TreeSelect 树形下拉选择组件