如何在OpenGL中使一条线段先绕X轴旋转一个角度然后在此基础上绕Z轴旋转一个角度?例如:直线(0,0,1),先绕X轴旋转30°,然后再绕Z轴旋转45°.我的代码:glLoadIdentity(); glClearColor3f(1.0f,1.0f,1.0f,0.0f
来源:学生作业帮助网 编辑:作业帮 时间:2024/12/03 04:35:01
如何在OpenGL中使一条线段先绕X轴旋转一个角度然后在此基础上绕Z轴旋转一个角度?例如:直线(0,0,1),先绕X轴旋转30°,然后再绕Z轴旋转45°.我的代码:glLoadIdentity(); glClearColor3f(1.0f,1.0f,1.0f,0.0f
如何在OpenGL中使一条线段先绕X轴旋转一个角度然后在此基础上绕Z轴旋转一个角度?
例如:直线(0,0,1),先绕X轴旋转30°,然后再绕Z轴旋转45°.
我的代码:
glLoadIdentity();
glClearColor3f(1.0f,1.0f,1.0f,0.0f);
glTranslatef(-5.0f,-3.0f,-15.0f);
glRotatef(AngleC,0.0f,0.0f,1.0f); //绕Z轴
glRotatef(AngleA,1.0f,0.0f,0.0f); //绕X轴
glBegin(OpenGL.LINES);
glColor3f(0.0f,0.0f,1.0f); //蓝色
glVertex3f(x1,y1,z1);
glVertex(x2,y2,z2);
glEnd();
这样写为什么只绕X轴转动而没有绕Z轴转动呢?或者说它有可能是先绕Z轴转动的但是因为直线在Z轴上所以没有看出来?但是我将两个glRotatef()顺序调换了以后还是一样,请问为什么啊,我想让它线绕X轴转动,再绕Z轴转动,
如何在OpenGL中使一条线段先绕X轴旋转一个角度然后在此基础上绕Z轴旋转一个角度?例如:直线(0,0,1),先绕X轴旋转30°,然后再绕Z轴旋转45°.我的代码:glLoadIdentity(); glClearColor3f(1.0f,1.0f,1.0f,0.0f
如果是先绕X在绕Z那么上面的代码旋转顺序是对的.只有一部分代码,不能确定为啥不转,要是其他部分正确的话应该是可以正常工作的.
只是直线的位置是不是不容易看出旋转的效果.