问opengl编程

来源:百度知道 编辑:UC知道 时间:2024/05/19 03:25:12
搞不明白。
1.画三维点是在模型坐标上画还是在世界坐标上画?
2.我们在观看的坐标,即眼睛坐标,初始时是不是和世界坐标一致?
3.模型坐标原点在世界坐标的坐标是什么?
4.模型坐标原点究竟在画出的模型上的哪一点,模型坐标是怎样确定的?
5.用glTranslatef和glRo...(旋转的)等是把物体在模型坐标上还是在世界坐标上进行矩阵变换?
6.如果初始时画点glVertex3f(0,0,0),那么这个点是不是就在眼睛上,所以在屏幕上看不见?
谢谢

按我的理解回答下,如有不对请高手指正:
1、glVertex给的坐标都是模型坐标;
2、初始的时候,投影坐标系(眼睛坐标)、模型坐标系都是与世界坐标系完全重合的;
3、模型坐标原点在哪,要看你把它用glTranslate和glRotate等等函数移到哪去了(本质一点应该说要看当前的模型坐标系矩阵是什么样,如果这个矩阵奇异的话,有没有原点还是个问题);
4、模型坐标转换成世界坐标后再转成投影坐标(眼睛坐标),至于是哪点当然是算了才知道;模型坐标由谁确定参见问题1;
5、世界坐标是不会动的,glTranslat和glRo...只能改变投影坐标或者模型坐标,关键看当前的Matrix Mode(相关函数glMatrixMode);
6、按我的经验,屏幕中间会出现一个点,因为OpenGL的眼睛很奇怪,它不但能看前面,还能同时看后面,中间也能看,奇妙吧?呵呵

我现在也开始学这个了,还不是很清楚哦~!顺便答一下,下次也好来看高手怎么答的,呵呵~