-
大小: 223KB文件類型: .zip金幣: 2下載: 1 次發(fā)布日期: 2021-06-16
- 語(yǔ)言: 其他
- 標(biāo)簽: OpenGL??機(jī)器人??運(yùn)動(dòng)??
資源簡(jiǎn)介
該程序通過(guò)OpenGL實(shí)現(xiàn)機(jī)器人運(yùn)動(dòng)(下蹲、起身、走、跑),可以作為學(xué)習(xí)OpenGL機(jī)器人連續(xù)運(yùn)動(dòng)的一個(gè)參考

代碼片段和文件信息
#include
#include
#include
#include
static?float?theta[10]={0};?//機(jī)器人跑與走時(shí)各關(guān)節(jié)的擺動(dòng)幅度
static?float?apha[10]={0};??//機(jī)器人下蹲起身時(shí)的關(guān)節(jié)擺動(dòng)幅度
float?flagI=1;????????
float?flag2=1;
bool?flagrun=false;??//flagrun=false時(shí)走,否則跑
bool?start=false;???//控制機(jī)器人運(yùn)動(dòng)與暫停
int?time=0;
float?change=1.0;//控制擺動(dòng)幅度
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);
}
//畫(huà)頭
void?head()
{
glPushMatrix();
glTranslatef(0.02.70.0);
glutSolidSphere(0.72016);
glPopMatrix();
}
//畫(huà)肩膀
void?shoulder()
{
glPushMatrix();
glTranslatef(0.01.80.0);
glScalef(30.30.5);
glutSolidCube(1.0);
glPopMatrix();
}
//畫(huà)身體
void?base()
{
glPushMatrix();
glTranslatef(0.00.20.0);
glScalef(1.53.00.5);
glutSolidSphere(0.62010);
glPopMatrix();
}
//畫(huà)右上臂
void?right_upper_arm()
{
glPushMatrix();
glTranslatef(1.50.80.0);
glScalef(0.62.00.4);
glutSolidCube(1.0);
glPopMatrix();
}
//畫(huà)右下臂
void?right_lower_arm()
{
glPushMatrix();
glTranslatef(1.5-1.00.0);
glScalef(0.62.00.5);
glutSolidCube(1.0);
glPopMatrix();
}
//畫(huà)左上臂
void?left_upper_arm()
{
glPushMatrix();
glTranslatef(-1.50.80.0);
glScalef(0.62.00.4);
glutSolidCube(1.0);
glPopMatrix();
}
//畫(huà)左下臂
void?left_lower_arm()
{
glPushMatrix();
glTranslatef(-1.5-1.00.0);
glScalef(0.62.00.5);
glutSolidCube(1.0);
glPopMatrix();
}
//畫(huà)跨
void?gum()
{
glPushMatrix();
glTranslatef(0.0-1.50.0);
glScalef(2.00.30.5);
glutSolidCube(1.0);
glPopMatrix();
}
//畫(huà)右上腿
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();
}
//畫(huà)右下腿
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();
}
//畫(huà)左上腿
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();
}
//畫(huà)左下腿
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()
{
?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----
?????文件??????290304??2013-07-23?13:58??計(jì)算機(jī)圖形作業(yè)\OpenGL運(yùn)動(dòng)機(jī)器人實(shí)現(xiàn).doc
?????文件????????8431??2013-07-04?09:30??計(jì)算機(jī)圖形作業(yè)\robot.cpp
?????目錄???????????0??2013-07-04?09:31??計(jì)算機(jī)圖形作業(yè)\
評(píng)論
共有 條評(píng)論