import sys, math, time, string from OpenGL.GLUT import * from OpenGL.GL import * from OpenGL.GLU import * quadric = 0 color = [1, 0, 0] firstTime = 1 def draw(): global firstTime if firstTime: glClear(GL_COLOR_BUFFER_BIT) glFlush() firstTime = 0 def reshape(width, height): glViewport(0, 0, width, height) glMatrixMode(GL_PROJECTION) glLoadIdentity() gluOrtho2D(0, width, -height, 0) glMatrixMode(GL_MODELVIEW) def keyboard(key, x, y): global color if key == chr(27): sys.exit(0) elif key == 'r': color = [1,0,0] elif key == 'g': color = [0,1,0] elif key == 'b': color = [0,0,1] def mousemotion(x,y): global quadric, color glLoadIdentity() glTranslatef(x, -y, 0) glColor3fv(color) gluDisk(quadric, 0, 10, 12, 1) glFlush() glutInit(sys.argv) glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB) glutInitWindowSize(400, 400) glutInitWindowPosition(0,0) glutCreateWindow(sys.argv[0]) glutDisplayFunc(draw) glutKeyboardFunc(keyboard) glutMotionFunc(mousemotion) glutReshapeFunc(reshape) quadric = gluNewQuadric() reshape(400,400) glutMainLoop()