作业帮 > 综合 > 作业

opengl使用gluUnProject得到近远剪裁面的世界坐标以后,怎么将世界坐标转换成模型坐标?

来源:学生作业帮 编辑:搜狗做题网作业帮 分类:综合作业 时间:2024/07/31 10:39:37
opengl使用gluUnProject得到近远剪裁面的世界坐标以后,怎么将世界坐标转换成模型坐标?
我要的是三维模型的点坐标
opengl使用gluUnProject得到近远剪裁面的世界坐标以后,怎么将世界坐标转换成模型坐标?
这个函数得到的好像就已经是模型坐标了?
再问: 不是世界坐标么,在绘制3d模型的时候不是要将模型坐标进行变换然后编程世界坐标么?还是怎么的,能详细解释下么?我的基本知识不很好,谢啦。
再答: 因为gluUnProject是先乘以GL_PROJECTION_MATRIX的逆矩阵,也就是进行投影变换的逆变换,得到观察坐标系的坐标,然后再乘以GL_MODELVIEW_MATRIX的逆矩阵,得到你绘制时glVertex()里写的坐标,这里面写的是模型坐标的话那就是模型坐标喽。(GL_MODELVIEw_matrix是模型视图变换矩阵,它所做的变换是先根据glTranslate、glRotate、glScale进行一些模型变换,然后根据glLookAt进行从世界坐标系到观察坐标系的变换)