资源简介
该程序通过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 计算机图形作业\
相关资源
- OpenGL参考手册
-
Actionsc
ript 1.0实现能跟随鼠标运动的 - Qt Creator opengl实现四元数鼠标控制轨迹
- 机器人单机械臂滑模控制程序
- OpenGL文档,api大全,可直接查询函数
- opengl轮廓字体源代码
- 运动模糊的去除
- MFC读三维模型obj文件
- 利用OpenGL写毛笔字算法
- MFC中OpenGL面和体的绘制以及动画效果
- 智能寻迹机器人源程序及pcb图
- 基于OPENGL的光线跟踪源代码368758
- VC 实现三维旋转(源码)
- 运动界面追踪问题 流体力学
- 自编用openGL实现3D分形树,分形山
- OpenGL球形贴图自旋程序
- OpenGL导入贴图的Texture类
- 计算机图形学(openGL)代码
- 用OpenGL开发的机械臂运动仿真程序(
- OpenGL-3D坦克模拟
- 发那科fanuc机器人robot(电气调试启动
- 长壁面膏体充填采场覆岩结构及其运
- 浅埋特大采高综采工作面关键层&ldq
- 西门子S7-1200三轴运动控制.ap16
- Fanuc机器人PNS程序和RSR程序启动改.d
- OPENGL实现世界上最小的3D游戏
- 微信聊天机器人源码
- 机器人操作系统ROS2
- ipad微信协议机器人
- 高水平乒乓球运动员上交叉综合征的
评论
共有 条评论