资源简介
该程序通过OpenGL实现机器人运动(下蹲、起身、走、跑),可以作为学习OpenGL机器人连续运动的一个参考
代码片段和文件信息
#include
#include
#include
#include
static float theta[10]={0}; //机器人跑与走时各关节的摆动幅度
static float apha[10]={0}; //机器人下蹲起身时的关节摆动幅度
float flagI=1;
float flag2=1;
bool flagrun=false; //flagrun=false时走,否则跑
bool start=false; //控制机器人运动与暂停
int time=0;
float change=1.0;//控制摆动幅度
void init(void)
{
GLfloat mat_specular[]={5.01.00.01.0};
GLfloat mat_shiness[]={5.0};
GLfloat light_position[]={ 5.05.05.01.0};
GLfloat light_ambient[]={1.01.00.01.0};
GLfloat light_diffuse[]={1.01.01.01.0};
GLfloat light_specular[]={1.00.00.01.0};
glClearColor (0.0 0.0 0.0 0.0);
glShadeModel(GL_SMOOTH);
glMaterialfv(GL_FRONTGL_SPECULARmat_specular);
glMaterialfv(GL_FRONTGL_SHININESSmat_shiness);
glLightfv(GL_LIGHT0GL_POSITIONlight_position);
glLightfv(GL_LIGHT0GL_AMBIENTlight_ambient);
glLightfv(GL_LIGHT0GL_DIFFUSElight_diffuse);
glLightfv(GL_LIGHT0GL_SPECULARlight_specular);
glClearDepth( 1.0 );
glEnable(GL_LIGHTING);
glEnable(GL_LIGHT0);
glEnable(GL_DEPTH_TEST);
}
//画头
void head()
{
glPushMatrix();
glTranslatef(0.02.70.0);
glutSolidSphere(0.72016);
glPopMatrix();
}
//画肩膀
void shoulder()
{
glPushMatrix();
glTranslatef(0.01.80.0);
glScalef(30.30.5);
glutSolidCube(1.0);
glPopMatrix();
}
//画身体
void base()
{
glPushMatrix();
glTranslatef(0.00.20.0);
glScalef(1.53.00.5);
glutSolidSphere(0.62010);
glPopMatrix();
}
//画右上臂
void right_upper_arm()
{
glPushMatrix();
glTranslatef(1.50.80.0);
glScalef(0.62.00.4);
glutSolidCube(1.0);
glPopMatrix();
}
//画右下臂
void right_lower_arm()
{
glPushMatrix();
glTranslatef(1.5-1.00.0);
glScalef(0.62.00.5);
glutSolidCube(1.0);
glPopMatrix();
}
//画左上臂
void left_upper_arm()
{
glPushMatrix();
glTranslatef(-1.50.80.0);
glScalef(0.62.00.4);
glutSolidCube(1.0);
glPopMatrix();
}
//画左下臂
void left_lower_arm()
{
glPushMatrix();
glTranslatef(-1.5-1.00.0);
glScalef(0.62.00.5);
glutSolidCube(1.0);
glPopMatrix();
}
//画跨
void gum()
{
glPushMatrix();
glTranslatef(0.0-1.50.0);
glScalef(2.00.30.5);
glutSolidCube(1.0);
glPopMatrix();
}
//画右上腿
void right_upper_leg()
{
glPushMatrix();
glRotatef(90.00.00.01.0);
glTranslatef(-2.5-1.00.0);
glScalef(2.00.51.0);
glutSolidCube(1.0);
glPopMatrix();
}
//画右下腿
void right_lower_leg()
{
glPushMatrix();
glRotatef(90.00.00.01.0);
glTranslatef(-4.5-1.00.0);
glScalef(2.00.51.0);
glutSolidCube(1.0);
glPopMatrix();
}
//画左上腿
void left_upper_leg()
{
glPushMatrix();
glRotatef(90.00.00.01.0);
glTranslatef(-2.51.00.0);
glScalef(2.00.51.0);
glutSolidCube(1.0);
glPopMatrix();
}
//画左下腿
void left_lower_leg()
{
glPushMatrix();
glRotatef(90.00.00.01.0);
glTranslatef(-4.51.00.0);
glScalef(2.00.51.0);
glutSolidCube(1.0);
glPopMatrix();
}
void run()
{
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 290304 2013-07-23 13:58 计算机图形作业\OpenGL运动机器人实现.doc
文件 8431 2013-07-04 09:30 计算机图形作业\robot.cpp
目录 0 2013-07-04 09:31 计算机图形作业\
相关资源
- 高水平乒乓球运动员上交叉综合征的
- VS2012OpenGL配置所需要的全部libdllh文件
- 水下自重构机器人行走运动稳定性准
- 机器人运动学及动力学
- 一个考虑土壤水侧向运动的分布式墒
- 基于运动控制器MCK2407的无刷直流电机
- 长期有氧运动对骨骼肌AR及mTOR下游信
- 不同时间的运动训练对小鼠骨骼肌E
- 不同持续时间低氧后运动对大鼠骨骼
- 长期不同强度运动对大鼠骨骼肌Akt/
- 中等强度运动大鼠左心室肌蛋白质组
- Geometrical methods in robotics
- 基于改进势场栅格法的移动机器人路
- 基于改进人工势场法的救灾机器人路
- 水流-泥沙协同运动对受损河流物理生
- 机器人-SPS程序-简析
- Kuka库卡机器人编程语法进阶
- 基于Pro/E斜齿圆柱齿轮参数化设计及运
- 基于测量机器人与近景摄影测量技术
- 论变形监测技术的现状与发展趋势
- ABB机器人教学仿真源代码_搬运应用
- ABB第五代机器人控制器IRC5手册.pdf
- Galil运动控制卡在矫直机系统中应用
- 基于OpenGL的仿蝗虫机器人三维动态仿
- 机器人手册 第2卷 机器人技术 [布鲁
- 图形学 - OpenGL实现3种三维茶壶显示源
- 瑜伽与健美操运动处方对女大学生身
- 基于ProE的内燃机中的活塞曲柄连杆机
- 基于SVM及两类运动想象的多通道特征
- 可重构机器人系统的分布式控制系统
评论
共有 条评论