资源简介
计算机图形学OpenGL画机器人,学习glPopMatrix()和glPushMatrix()的作用
代码片段和文件信息
#include
static int head = 0shoulderL = 0elbowL = 0shoulderR = 0elbowR = 0LegUpL = 0LegUpR = 0LegBtL = 0LegBtR = 0;
void init(void)//光源和材料的定义
{
glClearColor (0.0 0.0 0.0 0.0);
glShadeModel (GL_SMOOTH);
}
void display(void)//画具体的形状
{
glClear (GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT);
//画躯干
glPushMatrix();
glTranslatef (0.05.50.0);
glColor3f(1.00.00.0);
glPushMatrix();
glScalef(2.03.01.0);//y轴上扩大
glutWireCube(1.0);//边长
glPopMatrix();
//画肩膀
//glPushMatrix();//记住此处的位置,下次pop之后可以回到此位置
glTranslatef(0.01.50.0);
glPushMatrix();
glScalef(4.01.01.0);
glutWireCube(0.5);
glPopMatrix();
//画头部
glPushMatrix();//记住此处的位置,下次pop之后可以回到此位置
glTranslatef(0.00.50.0);
glPushMatrix();
glRotatef((GLfloat)head 0.0f 1.0f 0.0f);
glutWireSphere(0.51010);
glPopMatrix();
//画左手臂
glTranslatef(-1.0-0.50.0);//是沿着上面的坐标往下的……
glRotatef((GLfloat) shoulderL0.00.01.0);
glTranslatef(-0.4-0.50.0);
glPushMatrix();
glColor3f(1.01.00.0);
glScalef(1.22.01.0);
glutWireCube(0.5);
glPopMatrix();
glTranslatef(0.0-0.50.0);
glRotatef((GLfloat) elbowL0.00.01.0);
glTranslatef(0.0-0.50.0);
glPushMatrix();
//glColor3f(1.01.00.0);
glScalef(1.02.01.0);
glutWireCube(0.5);
glPopMatrix();
//画右手臂
glPopMatrix();//回到颈部的位置
glTranslatef(1.00.00.0);//
glRotatef((GLfloat) shoulderR0.00.01.0);
glTranslatef(0.4-0.50.0);
glPushMatrix();
glScalef(1.22.01.0);
glutWireCube(0.5);
glPopMatrix();
glTranslatef(0.0-0.50.0);
glRotatef((GLfloat) elbowL0.00.01.0);
glTranslatef(0.0-0.50.0);
glPushMatrix();
//glColor3f(1.01.00.0);
glScalef(1.02.01.0);
glutWireCube(0.5);
glPopMatrix();
glPopMatrix();//回到初始点
//画臀部
glPushMatrix();
glTranslatef(0.03.750.0);
glColor3f(1.00.00.0);
glPushMatrix();
glScalef(4.01.01.0);
glutWireCube(0.5);//reference what?v
glPopMatrix();
glPopMatrix();
//画左腿从初始点开始画
glPushMatrix();
glTranslatef(-0.53.50.0);//
glRotatef((GLfloat) LegUpL1.00.00.0);
glTranslatef(0.0-0.750.0);
glColor3f(1.01.00.0);
glPushMatrix();
glScalef(1.01.51.0);
glutWireCube(1.0);
glPopMatrix();
glTranslatef(0.0-0.750.0);//
glRotatef((GLfloat) LegBtL1.00.01.0);
glTranslatef(0.0-10.0);
glColor3f(1.01.00.0);
glPushMatrix();
glScalef(1.02.01.0);
glutWireCube(0.8);
glPopMatrix();
glPopMatrix();
//画右腿
glPushMatrix();
glTranslatef(0.53.50.0);//
glRotatef((GLfloat) LegU
相关资源
- openGL通过点线方式画出立方体并移动
- 机器人灭火比赛源程序C语言版本
- OPENGL 画颜色渐变六角星+旋转
- opengl头文件
- opengl五角星绘制
- OpenGL火焰
- OpenGL纹理茶壶
- OpenGL实现的三维桌球游戏模拟源代码
- openGL绘制的一个移动的2D小车,C++编写
- OPENGL分形模拟山脉
- kinect+opengl 生成并显示点云
- 基于MFC和OPENGL的五轴G代码仿真
- 雪花——OpenGL
- 编写 1 个程序绘制这些控制点生成的
- 机器人C语言代码的一个详细
- vc++ 和 openGL 做的 3D水波模拟 非常炫
- 基于openGl的画直线和三角形光栅化源
- opengl+mfc画线填充左键单击绘包围线、
- vs mfc opengl配置教程
- OpenGL实现模拟瀑布的粒子系统
- OpenGL安装包加配置 一看就懂
- 基于OPENGL的C语言大作业
- OpenGL 立体五角星 绘制
- 用opengl实现分形山
- 计算机图形学VSC++生成时钟报告含代码
- 山东大学图像学实验openGL读取off文件
- VC++ OpenGL三维物体建模--雨伞的绘制(
- 基于蚁群算法的机器人路径规划C语言
- 地球绕着太阳转,月亮绕着地球转
- 灭火机器人c语言代码国赛一等奖
评论
共有 条评论