OpenGL的模型旋转

程序猿老甘
图形学领域优质创作者
博客专家认证
2017-11-20 10:35:39
我希望能够用实现一个模型旋转,并获取旋转后特定坐标点的新的距离。但是,如果使用glRotatef函数,画面呈现是旋转的,但是提取的坐标是和旋转前相同的。请问这个坐标是要单独计算,还是有办法直接获得。我的display函数代码如下:
void display()
{
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);

glMatrixMode(GL_MODELVIEW);
glLoadIdentity();

//glTranslated(0.0, 0.0, -0.25);//gavab人脸的相关信息显示
glTranslated(0.0, 0.0, -3);
glMultMatrixd(pModelViewMatrix);

glColorMaterial(GL_FRONT, GL_AMBIENT_AND_DIFFUSE);//设置颜色追踪的材料属性以及多边形的面
if (pModel)
{
glColor3f(0.3, 0.3, 0.3);
glRotatef(angle, 0.0f, 1.0f, 0.0f);
angle++;
glmDraw(pModel, GLM_FLAT);
}
glutSwapBuffers();
}
...全文
609 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
CyberLogix 2018-03-14
  • 打赏
  • 举报
回复
引用 2 楼 victor_woo 的回复:
旋转可分为视点改变和模型位姿改变 后者位姿改变矩阵是由你自己计算的, glMultMatrixd(M) 可改变矩阵的位姿, 同时用这个矩阵乘以目标点坐标就是变换后的
楼上说的有道理,看你是改变摄像机呢还是改变模型位置呢
victor_woo 2018-01-02
  • 打赏
  • 举报
回复
旋转可分为视点改变和模型位姿改变 后者位姿改变矩阵是由你自己计算的, glMultMatrixd(M) 可改变矩阵的位姿, 同时用这个矩阵乘以目标点坐标就是变换后的
赵4老师 2017-11-21
  • 打赏
  • 举报
回复
搜网络教程“学OpenGL编3D游戏”?

19,469

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 图形处理/算法
社区管理员
  • 图形处理/算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧