码迷,mamicode.com
首页 > 其他好文 > 详细

openGL按照载体自身坐标系旋转

时间:2016-12-21 11:45:38      阅读:263      评论:0      收藏:0      [点我收藏+]

标签:分享   img   矩阵   ide   ges   屏幕   log   方向   世界   

本文为博主原创,转载请注明出处。

 

  立方体在openGL下可以使用glRotatef(angle, x, y, z)进行旋转,但是此时的坐标系是固定的世界坐标系,比如说立方体绕z轴旋转某一角度后,立方体的x和y轴已经改变,但是此时如果想按照立方体本身的y轴旋转,使用glRotatef(angle, 0, 1, 0)后立方体仍然按世界坐标系的y轴旋转。如何能让立方体按照自身的坐标系旋转呢,可以使用glMultMatrixf(Q)实现,Q为四元数、欧拉角或方向余弦旋转矩阵。废话不说上代码

  glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
  glLoadIdentity();  //重置模型矩阵
  glMultMatrixf(I);  //改变坐标系仍要满足右手系
  glTranslatef(x, y, z); //移入屏幕
  glMultMatrixf(Q); //四元数旋转矩阵

 

  上图

       技术分享

 

技术分享

 

 技术分享

 

openGL按照载体自身坐标系旋转

标签:分享   img   矩阵   ide   ges   屏幕   log   方向   世界   

原文地址:http://www.cnblogs.com/icemencc/p/6207001.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!