如何在OpenGL中使一条线段先绕X轴旋转一个角度然后在此基础上绕Z轴旋转一个角度?

如何在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轴转动,
竞将儿女泪 1年前 已收到1个回答 举报

发神经的女人 幼苗

共回答了11个问题采纳率:90.9% 举报

如果是先绕X在绕Z那么上面的代码旋转顺序是对的.只有一部分代码,不能确定为啥不转,要是其他部分正确的话应该是可以正常工作的.
只是直线的位置是不是不容易看出旋转的效果.

1年前

2
可能相似的问题
Copyright © 2024 YULUCN.COM - 雨露学习互助 - 16 q. 0.013 s. - webmaster@yulucn.com