// Robot.cpp: implementation of the CRobot class.
//
//////////////////////////////////////////////////////////////////////
#include "Robot.h"
//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////
//int CRobot::shoulder=0;
//int CRobot::leg=0;
CRobot::CRobot()
{
flagS=1;
flagL=1;
shoulder=0;
leg=0;
}
CRobot::~CRobot()
{
}
void CRobot::DrawRobot()
{
glColor3f(0.0,1.0,0.0);
glPushMatrix();
glRotatef(90.0,0.0,1.0,0.0);
glPushMatrix();
glScalef(16.0, 20.0, 10.0);
glutWireCube(1.0);
glPopMatrix();
glPushMatrix();
glTranslatef(0.0,12.0,0.0);
glScalef(3.0,4.0,3.0);
glutWireCube(1.0);
glPopMatrix();
glPushMatrix();
glTranslatef(0.0,18.0,0.0);
glScalef(8.0,8.0,8.0);
glutWireCube(1.0);
glPopMatrix();
glPushMatrix();
glTranslatef(10.0,10.0,0);
glPushMatrix();
glTranslatef(0.0,-5.0,0);
glScalef(4.0,10.0,4.0);
glutWireCube(1.0);
glPopMatrix();
glPushMatrix();
glTranslatef(0.0,-10.0,0.0);
glTranslatef(0.0,-5.0,0.0);
glScalef(4.0,10.0,4.0);
glutWireCube(1.0);
glPopMatrix();
glPopMatrix();
glPushMatrix();
glTranslatef(-10.0,10.0,0);
glPushMatrix();
glTranslatef(0.0,-5.0,0);
glScalef(4.0,10.0,4.0);
glutWireCube(1.0);
glPopMatrix();
glPushMatrix();
glTranslatef(0.0,-10.0,0.0);
glTranslatef(0.0,-5.0,0.0);
glScalef(4.0,10.0,4.0);
glutWireCube(1.0);
glPopMatrix();
glPopMatrix();
glPushMatrix();
glTranslatef(5.0,-10.0,0);
glPushMatrix();
glTranslatef(0.0,-8.0,0);
glScalef(6.0,16.0,6.0);
glutWireCube(1.0);
glPopMatrix();
glPushMatrix();
glTranslatef(0.0,-16.0,0.0);
glTranslatef(0.0,-8.0,0.0);
glScalef(6.0,16.0,6.0);
glutWireCube(1.0);
glPopMatrix();
glPopMatrix();
glPushMatrix();
glTranslatef(-5.0,-10.0,0);
glPushMatrix();
glTranslatef(0.0,-8.0,0);
glScalef(6.0,16.0,6.0);
glutWireCube(1.0);
glPopMatrix();
glPushMatrix();
glTranslatef(0.0,-16.0,0.0);
glTranslatef(0.0,-8.0,0.0);
glScalef(6.0,16.0,6.0);
glutWireCube(1.0);
glPopMatrix();
glPopMatrix();
glPopMatrix();
}
void CRobot::DrawWalkedRobot()
{
if(flagS==1)
shoulder=shoulder+1;
if(flagS==-1)
shoulder=shoulder-1;
if(shoulder>=30)
flagS=-1;
if(shoulder<=-30)
flagS=1;
if(flagL==1)
leg=leg+1;
if(flagL==-1)
leg=leg-1;
if(leg>=30)
flagL=-1;
if(leg<=-30)
flagL=1;
glColor3f(0.0,1.0,0.0);
glPushMatrix();
glRotatef(90.0,0.0,1.0,0.0);
glPushMatrix();
glScalef(16.0, 20.0, 10.0);
glutWireCube(1.0);
glPopMatrix();
glPushMatrix();
glTranslatef(0.0,12.0,0.0);
glScalef(3.0,4.0,3.0);
glutWireCube(1.0);
glPopMatrix();
glPushMatrix();
glTranslatef(0.0,18.0,0.0);
glScalef(8.0,8.0,8.0);
glutWireCube(1.0);
glPopMatrix();
glPushMatrix();
glTranslatef(10.0,10.0,0);
glRotatef(-shoulder,1.0,0.0,0.0); //rotate
glPushMatrix();
glTranslatef(0.0,-5.0,0);
glScalef(4.0,10.0,4.0);
glutWireCube(1.0);
glPopMatrix();
glPushMatrix();
glTranslatef(0.0,-10.0,0.0);
if(flagS==-1) //rotate
if(shoulder>=0)
glRotatef(-shoulder*1.5,1.0,0.0,0.0);
if(shoulder<0)
glRotatef(shoulder*0.5,1.0,0.0,0.0);
if(flagS==1)
if(shoulder>=0)
glRotatef(-shoulder*1.5,1.0,0.0,0.0);
if(shoulder<0)
glRotatef(shoulder*0.5,1.0,0.0,0.0);
glTranslatef(0.0,-5.0,0.0);
glScalef(4.0,10.0,4.0);
glutWireCube(1.0);
glPopMatrix();
glPopMatrix();
glPushMatrix();
glTranslatef(-10.0,10.0,0);
glRotatef(shoulder,1.0,0.0,0.0); //rotate
glPushMatrix();
glTranslatef(0.0,-5.0,0);
glScalef(4.0,10.0,4.0);
glutWireCube(1.0);
glPopMatrix();
glPushMatrix();
glTranslatef(0.0,-10.0,0.0);
if(flagS==-1)
if(shoulder>=0)
glRotatef(-shoulder*1.5,1.0,0.0,0.0);
if(shoulder<0)
glRotatef(shoulder*0.5,1.0,0.0,0.0);
if(flagS==1)
if(shoulder>=0)
glRotatef(-shoulder*1.5,1.0,0.0,0.0);
if(shoulder<0)
glRotatef(shoulder*0.5,1.0,0.0,0.0); //rotate
glTranslatef(0.0,-5.0,0.0);
glScalef(4.0,10.0,4.0);
glutWireCube(1.0);
glPopMatrix();
glPopMatrix();
glPushMatrix();
glTranslatef(5.0,-10.0,0);
glRotatef(leg,1.0,0.0,0.0); //rotate
glPushMatrix();
glTranslatef(0.0,-8.0,0);
glScalef(6.0,16.0,6.0);
glutWireCube(1.0);
glPopMatrix();
glPushMatrix();
glTranslatef(0.0,-16.0,0.0);
if(flagL==-1)
if(leg>=0)//rotate
glRotatef(0.0,1.0,0.0,0.0);
if(leg<0)
glRotatef(-leg*0.5,1.0,0.0,0.0);
if(flagL==1)
if(leg>=0)
glRotatef(0.0,1.0,0.0,0.0);
if(leg<0)
glRotatef(-leg*0.5,1.0,0.0,0.0);
glTranslatef(0.0,-8.0,0.0);
glScalef(6.0,16.0,6.0);
glutWireCube(1.0);
glPopMatrix();
glPopMatrix();
glPushMatrix();
glTranslatef(-5.0,-10.0,0);
glRotatef(-leg,1.0,0.0,0.0); //rotate
glPushMatrix();
glTranslatef(0.0,-8.0,0);
glScalef(6.0,16.0,6.0);
glutWireCube(1.0);
glPopMatrix();
glPushMatrix();
glTranslatef(0.0,-16.0,0.0);
if(flagL==-1)
if(leg>=0)//rotate
glRotatef(leg*0.5,1.0,0.0,0.0);
if(leg<0)
glRotatef(0.0,1.0,0.0,0.0);
if(flagL==1)
if(leg>=0)
glRotatef(leg*0.5,1.0,0.0,0.0);
if(leg<0)
glRotatef(0.0,1.0,0.0,0.0);
glTranslatef(0.0,-8.0,0.0);
glScalef(6.0,16.0,6.0);
glutWireCube(1.0);
glPopMatrix();
glPopMatrix();
glPopMatrix();
}

charp1984
- 粉丝: 3
最新资源
- 常用功能代码库项目_代码片段集合工具函数开发辅助模块编程示例跨语言支持文档注释测试用例性能优化技巧错误处理方案API封装配置模板自动化脚本数据处理工具网络.zip
- 基于PHP_Swoole框架构建的高性能键值对数据存储服务器_支持内存缓存与持久化存储_提供低延迟高并发的数据读写服务_适用于实时数据处理与缓存加速场景_包含数据压缩与加密功能_支.zip
- zlib-devel-1.2.7-18.el7.x86_64.rpm.zip
- zlib-devel-1.2.7-18.el7.x86_64.rpm.zip
- iOS开发基础工具库_包含文件操作网络访问提示UI设备唯一IDkeychain存储时间戳处理字符串校验Base64编码MD5计算JSON字典转换屏幕适配导航栏高度获取_帮助开发者快.zip
- BodyPaint_3D 3.1.1 笔刷文件包:解决无笔刷问题
- 博恒广告行业专业记账软件v8功能全面上线
- 抖音视频下载助手可批量下载抖音内容
- 抖音视频下载助手可批量下载抖音内容
- SP490E/SP491E:增强型全双工RS-485收发器
- 基坑监测方案标准版
- 高级系统架构师培训讲义
- 基坑监测方案标准版
- 阿里云表格存储中间件自动参数拆装工具_支持主键注解属性列标注子类标注范围查询迭代器查询数据写入条件查询配置客户端快速集成_简化Java应用对阿里云表格存储服务的读写操作减少手动参数.zip
- 基于FMDB的iOS轻量级数据库操作演示项目_数据库操作SQLite封装增删改查事务处理数据模型映射线程安全性能优化错误处理数据持久化CoreData替代方案_帮.zip
- UnionDB低成本高性能地图数据存储引擎_百万级小数据文件查询检索更新增强读写协议高可用存储调度_替代传统PG集中式存储的海量数据处理解决方案_驱动连接池文件锁读写接口API底层存储设计.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈



- 1
- 2
- 3
- 4
- 5
- 6
前往页