Вывод ответа #1864714859

-

Python

Обсуждаем данный язык программирования

bogdan-g


Репутация:
репутация:
| на сайте с 1970 года
сообщений:

Пост № 1864714859

как сделать с помощью опенгл на питоне: сфера(шарик) движется по эллипстической орбите вокруг точки?

-------------
добавлено в 15.36: еще вопрос, что в данном примере не правильно написано?

import appuifw, sys, e32, time
from glcanvas import *
from gles import *
from key_codes import *

def InitGL(Width, Height):
glClearColor(0.0, 0.0, 0.0, 0.0)
glClearDepth(1.0)
glDepthFunc(GL_LESS)
glEnable(GL_DEPTH_TEST)
glEnable(GL_LIGHTING)
glEnable(GL_LIGHT0)
glEnable(GL_COLOR_MATERIAL)
glMatrixMode(GL_PROJECTION)
glLoadIdentity()
gluPerspective(45.0, float (Width)/float(Height), 0.1, 1000.0)
glMatrixMode(GL_MODELVIEW)

def ReSizeGLScene(Width, Height):
if Height == 0:
Height = 1
glViewport(0, 0, Width, Height)

glMatrixMode(GL_PROJECTION)
glLoadIdentity()
gluPerspective(45.0, float (Width)/float(Height), 0.1, 100.0)
glMatrixMode(GL_MODELVIEW)

def DrawGLScene():
global rot
rot = (rot + 1) % 360
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT)
glLoadIdentity()
glTranslatef(0.0,0.0,-10.0)
glRotatef(rot,1.0,0.0,0.0)
glRotatef(rot,0.0,1.0,0.0)
glRotatef(rot,0.0,0.0,1.0)
glColor4f(0.0,0.7,0.1,1)
glutSolidCube(3)
glutSwapBuffers()

def KeyPressed(*args):
if args[0]=="\033": sys.exit()

def main():
glutInit(sys.argv)
glutInitDisplayMode(GLUT_RGBA | GLUT_DOUBLE | GLUT_ALPHA | GLUT_DEPTH)
glutInitWindowSize(400, 300)
glutInitWindowPosition(0, 0)
glutCreateWindow("OpenGL demo")
glutDisplayFunc(DrawGLScene)
glutIdleFunc(DrawGLScene)
glutReshapeFunc(ReSizeGLScene)
glutKeyboardFunc(KeyPressed) InitGL(400, 300)
glutMainLoop()
main()
-------------
добавлено в 15.39: питон ругается:
Traceback (most recent call last):
File "C:\private\2000b1a5\default.py", line 81, in menu_action
f()
File "C:\private\2000b1a5\default.py", line 65, in query_and_exec
execfile(script_list[index][1].encode('utf-8'), script_namespace.namespace)
Indentationerror: expected an indented block (GL.py, line 21)


ответ опубликован:
Рейтинг: 5
голосов: 2