201702GraduateEx0102 - dknife/Graduate2017_Autumn GitHub Wiki
from OpenGL.GLUT import *
from OpenGL.GL import *
from OpenGL.GLU import *
import numpy as np
Loc = np.array([0,1,0])
Vel = np.array([0,0,0])
GAcc = np.array([0,-9.8, 0])
def move() :
global Loc, Vel, GAcc
dt = 0.0001
Vel = Vel + GAcc * dt;
Loc = Loc + Vel*dt;
## collision
if Loc[1] < 0.0 :
Loc[1] = - Loc[1]
if Vel[1]<0.0 :
Vel[1] = - Vel[1]
glutPostRedisplay() ## Hey! Draw Function! Draw!
def draw():
glClear(GL_COLOR_BUFFER_BIT)
glMatrixMode(GL_PROJECTION)
glLoadIdentity()
gluPerspective(60, 1.0, 0.1, 1000);
glMatrixMode(GL_MODELVIEW)
glLoadIdentity()
gluLookAt(0.0,2.0,5.0, 0.0,0.0,0.0, 0.0,1.0,0.0)
glPushMatrix()
glTranslatef(Loc[0], Loc[1], Loc[2])
glColor3f(1,0,0)
glutWireSphere(0.1, 30,30)
glPopMatrix()
glFlush()
def GLinit() :
glClearColor(0, 0, 1, 1)
glutInit(sys.argv)
glutInitDisplayMode(GLUT_SINGLE | GLUT_RGBA)
glutInitWindowSize(250, 250)
glutInitWindowPosition(100, 100)
glutCreateWindow(b"OpenGL with Python")
GLinit()
glutDisplayFunc(draw)
glutIdleFunc(move)
glutMainLoop()
# End of program