openGL做机器人时建立up arm时的Translate是什么 20
代码如下:voidbase(){glPushMatrix();glRotatef(-90.0,1.0,0.0,0.0);gluCylinder(p,BASE_RADIUS...
代码如下:
void base()
{
glPushMatrix();
glRotatef (-90.0, 1.0, 0.0, 0.0);
gluCylinder (p, BASE_RADIUS, BASE_RADIUS,BASE_HEIGHT, 15, 15);
glPopMatrix();
}
void lower_arm()
{
glPushMatrix();
glTranslatef(0.0, 0.5*LOWER_ARM_HEIGHT, 0.0);
glScalef(LOWER_ARM_WIDTH, LOWER_ARM_HEIGHT,LOWER_ARM_WIDTH);
glutWireCube(1.0);
glPopMatrix();
}
void upper_arm()
{
glPushMatrix();
glTranslatef(0.0, 0.5*UPPER_ARM_HEIGHT, 0.0);
glScalef(UPPER_ARM_WIDTH, UPPER_ARM_HEIGHT,UPPER_ARM_WIDTH);
glutWireCube(1.0);
glPopMatrix();
}
void display()
{
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
gluLookAt(1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0,1.0, 0.0);
glRotatef(theta[0], 0.0, 1.0, 0.0);
glColor3f (0.0, 0.0, 1.0);
base();
glTranslatef(0.0, BASE_HEIGHT, 0.0);
glRotatef(theta[1], 0.0, 0.0, 1.0);
glColor3f (0.0, 1.0, 0.0);
lower_arm();
glTranslatef(0.0, LOWER_ARM_HEIGHT, 0.0);
glRotatef(theta[2], 0.0, 0.0, 1.0);
glColor3f (1.0, 0.0, 0.0);
upper_arm();
glutSwapBuffers();
}
在单独定义的void arm的方法里的Translate和在display里的Translate分别表示哪些点? 展开
void base()
{
glPushMatrix();
glRotatef (-90.0, 1.0, 0.0, 0.0);
gluCylinder (p, BASE_RADIUS, BASE_RADIUS,BASE_HEIGHT, 15, 15);
glPopMatrix();
}
void lower_arm()
{
glPushMatrix();
glTranslatef(0.0, 0.5*LOWER_ARM_HEIGHT, 0.0);
glScalef(LOWER_ARM_WIDTH, LOWER_ARM_HEIGHT,LOWER_ARM_WIDTH);
glutWireCube(1.0);
glPopMatrix();
}
void upper_arm()
{
glPushMatrix();
glTranslatef(0.0, 0.5*UPPER_ARM_HEIGHT, 0.0);
glScalef(UPPER_ARM_WIDTH, UPPER_ARM_HEIGHT,UPPER_ARM_WIDTH);
glutWireCube(1.0);
glPopMatrix();
}
void display()
{
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
gluLookAt(1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0,1.0, 0.0);
glRotatef(theta[0], 0.0, 1.0, 0.0);
glColor3f (0.0, 0.0, 1.0);
base();
glTranslatef(0.0, BASE_HEIGHT, 0.0);
glRotatef(theta[1], 0.0, 0.0, 1.0);
glColor3f (0.0, 1.0, 0.0);
lower_arm();
glTranslatef(0.0, LOWER_ARM_HEIGHT, 0.0);
glRotatef(theta[2], 0.0, 0.0, 1.0);
glColor3f (1.0, 0.0, 0.0);
upper_arm();
glutSwapBuffers();
}
在单独定义的void arm的方法里的Translate和在display里的Translate分别表示哪些点? 展开
2013-06-06 · 知道合伙人互联网行家
关注
展开全部
大概看了一下,你这代码能画出想要的效果吗?
display 里第一个Translate会作用于后面所有的绘制。。。这是你想要的吗
display 里第一个Translate会作用于后面所有的绘制。。。这是你想要的吗
追问
在upper_arm里的Translate和Display的有什么不一样呢?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
北京金瑞博
2024-08-14 广告
2024-08-14 广告
北京金瑞博企业咨询服务有限公司由张磊和合伙人共同创立,专注于为全球制药公司提供法规事务(药品注册)、GMP合规、质量管理数字化、市场准入以及相关工作。我们立志成为国内知名、国际有影响力的专家型咨询公司,为客户合规带来改变,对行业合规产生影响...
点击进入详情页
本回答由北京金瑞博提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询