opengl的一道编程题

这是一个螺旋线voidRenderScene(void){GLfloatx,y,z,angle;//Storeageforcoordinatesandangles//Cl... 这是一个螺旋线
void RenderScene(void)
{
GLfloat x,y,z,angle; // Storeage for coordinates and angles
// Clear the window with current clearing color
glClear(GL_COLOR_BUFFER_BIT);
// Save matrix state and do the rotation
glPushMatrix();
glRotatef(xRot, 1.0f, 0.0f, 0.0f);

// Call only once for all remaining points
glBegin(GL_LINE_STRIP);
z = -50.0f;
for(angle = 0.0f; angle <= (2.0f*3.1415f)*3.0f; angle += 0.1f)
{
x = 50.0f*cos(angle);
y = 50.0f*sin(angle);

// Specify the point and move the Z value up a little
glVertex3f(x, y, z);
z += 0.5f;
}
// Done drawing points
glEnd();
// Restore transformations
glPopMatrix();
// Flush drawing commands
glutSwapBuffers();
}
怎么改才能让螺旋线绕中心轴转呢,现在是x轴
展开
 我来答
DeathWolf96
2013-10-19 · TA获得超过153个赞
知道答主
回答量:51
采纳率:0%
帮助的人:63.2万
展开全部
很明显这段程序绘制的是一个沿z轴逐渐深入的螺旋线,所以你说的中心轴应该就是z轴。
那么,glRotatef(xRot, 1.0F, 0.0F, 0.0F)改为glRotatef(xRot, 0.0F, 0.0F, 1.0F)即可。
关于glRotatef:它的第一个参数代表旋转角度,后三个参数共同代表一个三维向量,代表旋转的轴向。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式