如何在OpenGL中使一条线段先绕X轴旋转一个角度然后在此基础上绕Z轴旋转一个角度?
来源:学生作业帮 编辑:大师作文网作业帮 分类:数学作业 时间:2024/10/03 14:20:31
如何在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轴转动,
例如:直线(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轴转动,
如果是先绕X在绕Z那么上面的代码旋转顺序是对的.只有一部分代码,不能确定为啥不转,要是其他部分正确的话应该是可以正常工作的.
只是直线的位置是不是不容易看出旋转的效果.
只是直线的位置是不是不容易看出旋转的效果.
如何在OpenGL中使一条线段先绕X轴旋转一个角度然后在此基础上绕Z轴旋转一个角度?
CATIA中如何通过一个参数来控制尺寸A.如图1.如何通过控制Line1的角度A,使实体绕轴旋转.如图2
在ansys中怎么把一个面旋转一个角度?
catia如何将实体旋转一个角度
proe4.0组件中如何把零件旋转一个角度
在adams中,怎么设定一个角度函数的输入.即给定一个角度是时间t的函数,然后这个角度连续函数作为旋转的驱动.
powerpoint如何使三角形绕一个顶点旋转任意角度后停止
在Altium Designer中我想将一个元器件旋转任意角度,如何操作啊?
在matlab中绘制了一个椭圆,如何旋转一定角度
就是一个图形旋转 旋转中心在中间,围绕中心旋转,怎么看旋转角度?急
在3ds max中,如何让一组相同的物体随机旋转一个角度(每个物体旋转角度值不同)?
CAD制图中 画了任意角度的一条线 然后以这条线为X轴 取一个角度 画夹角 如何操作啊