openGL按照载体自身坐标系旋转
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了openGL按照载体自身坐标系旋转相关的知识,希望对你有一定的参考价值。
本文为博主原创,转载请注明出处。
立方体在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按照载体自身坐标系旋转的主要内容,如果未能解决你的问题,请参考以下文章