opengl旋转问题
您回答过一个问题,按以下方法绕世界坐标旋转,我试了一下怎么没反应?glPushMatrix();glRotatef(60.0f,1.0f,0.0f,0.0f);glPus...
您回答过一个问题,按以下方法绕世界坐标旋转,我试了一下怎么没反应?
glPushMatrix();
glRotatef( 60.0f, 1.0f, 0.0f,0.0f);
glPushMatrix();
glRotatef( 20.0f, 0.0f, 1.0f,0.0f);
glBegin(GL_...);
....
glEnd();
glPopMatrix();
glPopMatrix();
loonie您好,根据您的答案我试了一下,图变花了,怎么办? 展开
glPushMatrix();
glRotatef( 60.0f, 1.0f, 0.0f,0.0f);
glPushMatrix();
glRotatef( 20.0f, 0.0f, 1.0f,0.0f);
glBegin(GL_...);
....
glEnd();
glPopMatrix();
glPopMatrix();
loonie您好,根据您的答案我试了一下,图变花了,怎么办? 展开
3个回答
展开全部
不停地旋转要不停地glRotated, 例如:
a=0.0;b=0.0;
for (i=0;i<600;i++)
{
glPushMatrix();
glRotatef( a, 1.0f, 0.0f,0.0f);
glPushMatrix();
glRotatef( b, 0.0f, 1.0f,0.0f);
glBegin(GL_...);
....
glEnd();
glPopMatrix();
glPopMatrix();
a=a+6.0;
b=b+2.0;
}
a=0.0;b=0.0;
for (i=0;i<600;i++)
{
glPushMatrix();
glRotatef( a, 1.0f, 0.0f,0.0f);
glPushMatrix();
glRotatef( b, 0.0f, 1.0f,0.0f);
glBegin(GL_...);
....
glEnd();
glPopMatrix();
glPopMatrix();
a=a+6.0;
b=b+2.0;
}
来自:求助得到的回答
展开全部
因为你用了glpushmatrix和glpopMatrix,(即变换前旋转变换矩阵进行压栈,变换后出栈)这种情况下glRotatef里的角度为绝对角度,所以你每次绕X、Y轴每次旋转的都是停留在绝对的60和20度,所以不旋转。应该吧60和20两个角度设置成变量。可以设计一个定时器,在定时器响应函数里改变角度变量的值。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你想要什么样的效果?你的角度是常数,所以你看不到你的图像不停的旋转,如果想要它不停的选择你该设置一个float变量。还可以用TimerFunc函数控制选择的速度。我也是初学opengl。为了大家互相帮助我创建了一个opengl群:111595885
有兴趣的邀请你加入。
有兴趣的邀请你加入。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询