我道歉,因为似乎这个问题在其他帖子中得到了解答,但我还没有找到我需要的那种答案。
我的意图是,与openGL的许多其他用户一样,创建一个简单的3D环境,尽管我使用了各种资源,但我似乎仍然坚持使用最重要的组件之一,导航...虽然我已经看到了gluLookAt()用于导航场景的许多用途,计算面对"面对"点,以及" up"通过三个角度,当这些角度最终被重新计算以便通过openGL进行转换时。 (虽然这种事物对于绕物体运行似乎非常有用)
然而,我看到了另一个看似更实用的方法,它应用了一系列类似的操作(以pythonic方式)
listen_addresses = '*' # what IP address(es) to listen on;
# comma-separated list of addresses;
# defaults to 'localhost'; use '*' for all
# (change requires restart)
port = 5432 # (change requires restart)
max_connections = 100 # (change requires restart)
#superuser_reserved_connections = 3 # (change requires restart)
#unix_socket_directories = '' # comma-separated list of directories
# (change requires restart)
#unix_socket_group = '' # (change requires restart)
#unix_socket_permissions = 0777 # begin with 0 to use octal notation
但是在尝试这种方法时,我发现不仅(对我有限的理解)zFar切断了大部分渲染对象,但z坐标功能失调或完全被忽略。此外,似乎旋转仍然围绕原点发生,而不是相机。
如果错误出现在我的整个程序中,可以在这里找到(https://www.dropbox.com/s/5ysn5jgzgci17vm/faulty_program.py?dl=0),但中心功能如下:
def goto(x,y,z,pitch,yaw,roll):
glLoadIdentity()
glRotatef(pitch,1,0,0)
glRotatef(yaw,0,1,0)
glRotatef(roll,0,0,1)
glTranslatef(-x,-y,-z)
我想,最重要的是,我要求这种操作的正确方法,因为我显然不知道我在做什么......