资源简介
利用openGL 画一个机器人,加上光照附上材质及其相关运动~~
代码片段和文件信息
//本程序实现了简单机器人模型
#include
#include
#include
#include
static float theta[10]={0};
float flagI=1;
void init(void)
{
GLfloat mat_specular[]={1.01.00.01.0};
GLfloat mat_shiness[]={50.0};
GLfloat light_position[]={ 5.05.05.01.0};
GLfloat light_ambient[]={1.01.00.01.0};
GLfloat light_diffuse[]={1.01.00.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.20.0);
glutSolidSphere(0.42016);
glPopMatrix();
}
//画肩膀
void shoulder()
{
glPushMatrix();
glTranslatef(0.01.80.0);
glScalef(2.60.30.5);
glutSolidCube(1.0);
glPopMatrix();
}
//画身体
void base()
{
glPushMatrix();
glRotatef(90.00.00.01.0);
glTranslatef(0.50.00.0);
glScalef(2.01.00.5);
glutSolidCube(1.0);
glPopMatrix();
}
//画右上臂
void right_upper_arm()
{
glPushMatrix();
glTranslatef(1.01.30.0);
glScalef(0.61.00.4);
glutSolidCube(1.0);
glPopMatrix();
}
//画右下臂
void right_lower_arm()
{
glPushMatrix();
glTranslatef(1.00.30.0);
glScalef(0.61.00.5);
glutSolidCube(1.0);
glPopMatrix();
}
//画左上臂
void left_upper_arm()
{
glPushMatrix();
glTranslatef(-1.01.30.0);
glScalef(0.61.00.4);
glutSolidCube(1.0);
glPopMatrix();
}
//画左下臂
void left_lower_arm()
{
glPushMatrix();
glTranslatef(-1.00.30.0);
glScalef(0.61.00.5);
glutSolidCube(1.0);
glPopMatrix();
}
//画右上腿
void right_upper_leg()
{
glPushMatrix();
glRotatef(90.00.00.01.0);
glTranslatef(-1.0-0.50.0);
glScalef(1.00.41.0);
glutSolidCube(1.0);
glPopMatrix();
}
//画右下腿
void right_lower_leg()
{
glPushMatrix();
glRotatef(90.00.00.01.0);
glTranslatef(-2.0-0.50.0);
glScalef(1.00.41.0);
glutSolidCube(1.0);
glPopMatrix();
}
//画左上腿
void left_upper_leg()
{
glPushMatrix();
glRotatef(90.00.00.01.0);
glTranslatef(-1.00.50.0);
glScalef(1.00.41.0);
glutSolidCube(1.0);
glPopMatrix();
}
//画左下腿
void left_lower_leg()
{
glPushMatrix();
glRotatef(90.00.00.01.0);
glTranslatef(-2.00.50.0);
glScalef(1.00.41.0);
glutSolidCube(1.0);
glPopMatrix();
}
void display(void)
{
glClear (GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glEnable(GL_NORMALIZE);
//处理身体旋转
glRotatef(theta[0]0.01.00.0);
shoulder();
base();
//处理头旋转
glPushMatrix();
glRotatef(theta[1]0.01.00.0);
head();
glPopMatrix();
//处理右上臂与右下臂的旋转
glPushMatrix();
glTranslatef
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 5561 2009-05-27 12:32 光照机器人\aa.cpp
文件 3353 2009-05-31 23:45 光照机器人\aa.dsp
文件 512 2009-05-31 23:53 光照机器人\aa.dsw
文件 50176 2009-05-31 23:53 光照机器人\aa.ncb
文件 48640 2009-05-31 23:53 光照机器人\aa.opt
文件 1220 2009-05-31 23:46 光照机器人\aa.plg
文件 196776 2009-05-31 23:46 光照机器人\Debug\aa.exe
文件 216068 2009-05-31 23:46 光照机器人\Debug\aa.ilk
文件 29485 2009-05-31 23:46 光照机器人\Debug\aa.obj
文件 3677444 2009-05-31 23:46 光照机器人\Debug\aa.pch
文件 369664 2009-05-31 23:46 光照机器人\Debug\aa.pdb
文件 140288 2009-05-31 23:53 光照机器人\Debug\vc60.idb
文件 77824 2009-05-31 23:46 光照机器人\Debug\vc60.pdb
目录 0 2009-05-31 23:46 光照机器人\Debug
目录 0 2009-05-31 23:53 光照机器人
----------- --------- ---------- ----- ----
4817011 15
- 上一篇:PCA-ICA-LDA 介绍与比较
- 下一篇:AUTOSARCAN总线网络管理规范
相关资源
- OpenGL44PipelineMap.pdf
- 全球第一本ROS开源书中文版--机器人操
- 基于多传感器融合的室内机器人自主
- 教室漫游 OpenGL
- 斯坦福机器人教程 讲义和课件
- OpenGL库(包括glewfreeglut和gltools)
- openGl 飞机模拟
- opengl绘制三维模型可用鼠标控制旋转
- opengl三维场景
- QQ代挂查询机器人插件-完整包.zip
- 计算机图形学opengl+shader几个
- opengl简单地形绘制
- 如何正确入门ROS-TopLiu-硬创公开课
- OPENGL三维场景搭建、漫游、交互_vs2
- 酷Q机器人易语言源码
- 基于体渲染的OpenGL烟雾模拟程序
- openGL下雨现象模拟
- OpenGL三维图形程序设计(Windows版)
- OpenGL实现鼠标旋转缩放平移操作
- 安川机器人IO手册
- Robot Modeling and Control M.W.Spong
- 全球手术机器人行业发展研究报告 普
- Instagram Filters 破解了Instagram App的几十
- abb工业机器人集成视觉应用手册(中
- opengl 3d obj模型加载,贴图
- 实时计算机图形学 第二版英文版pdf格
- ROBOTICS:modellingplanning and control
- 机器人学导论 PDF 高清完整版
- 水下机器人 蒋新松
- OpenGL实践三:水面涟漪的逼真绘制毕
评论
共有 条评论