支持c语言的机械臂,c语言在qt环境下调用opengl es 2.0 api创建机器人手臂

#include

#include

#include

#include

#include

static int shoulder = 0, elbow = 0;

void init()

{

glClearColor(0.0,0.0,0.0,0.0);

glShadeModel(GL_FLAT);

}

void display()

{

glClear(GL_COLOR_BUFFER_BIT);

glPushMatrix();

glTranslatef(-1.0,0.0,0.0);

glRotatef((GLfloat)shoulder,0.0,0.0,1.0);

glTranslatef(1.0,0.0,0.0);

glPushMatrix();

glScalef(2.0,0.4,1.0);

glutWireCube(1.0);

glPopMatrix();

glTranslatef(1.0,0.0,0.0);

glRotatef((GLfloat)elbow,0.0,0.0,1.0);

glTranslatef(1.0,0.0,0.0);

glPushMatrix();

glScalef(2.0,0.4,1.0);

glutWireCube(1.0);

glPopMatrix();

glPopMatrix();

glutSwapBuffers();

}

void reshape(int w,int h)

{

glViewport(0,0,(GLsizei)w,(GLsizei)h);

glMatrixMode(GL_PROJECTION);

glLoadIdentity();

gluPerspective(65.0,(GLfloat)w/(GLfloat)h,1.0,20.0);

glMatrixMode(GL_MODELVIEW);

glLoadIdentity();

glTranslatef(0.0,0.0,-5.0);

}

void keyboard(unsigned char key,int x,int y)

{

switch(key)

{

case 's':

shoulder = (shoulder+5)%360;

glutPostRedisplay();

break;

case 'S':

shoulder = (shoulder-5)%360;

glutPostRedisplay();

break;

case 'e':

elbow = (elbow+5)%360;

glutPostRedisplay();

break;

case 'E':

elbow = (elbow-5)%360;

glutPostRedisplay();

break;

default:

break;

}

}

int main(int argc, char *argv[])

{

glutInit(&argc,argv);

glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGB);

glutInitWindowSize(500,500);

glutInitWindowPosition(100,100);

glutCreateWindow(argv[0]);

init();

glutDisplayFunc(display);

glutReshapeFunc(reshape);

glutKeyboardFunc(keyboard);

glutMainLoop();

return 0;

}

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值