绘制场景之前要确保当前模型视图矩阵是单位矩阵

先旋转后移动 与 先移动后旋转 有不同的结果,矩阵没有交换律

程序运行截图如下:

源码如下(先移动再旋转):

void Draw() {glClearColor(0.0f, 0.0f, 0.0f, 1.0f);glClear(GL_COLOR_BUFFER_BIT);glLoadIdentity();glPushMatrix();glTranslatef(0.0f, 0.0f, -5.0f);glPushMatrix();glRotatef(30.0f, 0.0f, 1.0f, 0.0f);glBegin(GL_TRIANGLES);glColor4ub(255, 0, 0, 255); glVertex3f(-0.5f, -0.25f, 0.0f);glColor4ub(0, 0, 255, 255); glVertex3f(0.5f, -0.25f, 0.0f);glColor4ub(0, 255, 0, 255); glVertex3f(0.0f, 0.5f, 0.0f);glEnd();
}

程序运行截图如下:

下面是先旋转,后移动:

程序运行截图如下:

代码如下:

void Draw() {glClearColor(0.0f, 0.0f, 0.0f, 1.0f);glClear(GL_COLOR_BUFFER_BIT);glLoadIdentity();glPushMatrix();glRotatef(30.0f, 0.0f, 1.0f, 0.0f);glPushMatrix();glTranslatef(0.0f, 0.0f, -5.0f);glBegin(GL_TRIANGLES);glColor4ub(255, 0, 0, 255); glVertex3f(-0.5f, -0.25f, 0.0f);glColor4ub(0, 0, 255, 255); glVertex3f(0.5f, -0.25f, 0.0);glColor4ub(0, 255, 0, 255); glVertex3f(0.0f, 0.5f, 0.0f);glEnd();glPopMatrix();glPopMatrix();
}

C++ opengl 复合运动相关推荐

  1. 理论力学静力学与运动学补充(二):点的复合运动

    0 相关定义 动点: 所研究或感兴趣的运动质点 绝对运动: 动点相对定参考系的运动 相对运动: 动点相对动参考系的运动 牵连运动: 动系相对定系的运动   分辨三种运动其实很简单,比如直线行驶自行车轮 ...

  2. OpenGL绘制运动的自行车

    一.题目要求: 图形显示要求: 利用OpenGL实现自行车动画显示.自行车是三维的. 具体样式.颜色.尺寸自定. 可以使用学过的各种显示方法 菜单要求,利用鼠标右键选择菜单项: 利用鼠标右键弹出2个2 ...

  3. Computer Graphics Through OpenGL From Theory to Experiments - 学习笔记2 Tricks of the Trade opengl基础

    一个 OpenGL 工具箱 顶点数组及其绘制命令 // // squareAnnulus1.cpp // // 该程序绘制一个方形环作为三角形条带 // 顶点使用 glVertex3f() 指定,颜色 ...

  4. 刚体运动的表示及其Mathematica实现

    刚体运动理论基础 刚体在空间中运动时,其运动只能是三种情况: 1.纯平移 2.绕一个轴的纯旋转 3.平移与旋转的结合 一.纯平移 在三维空间中,一般平移用一个向量表示,如平移向量为D=(dx,dy,d ...

  5. 3D游戏(3)——空间与运动

    1.简答并用程序验证[建议做] 游戏对象运动的本质是什么? 游戏对象的运动过程本质上就是游戏对象的空间位置(Position).旋转角度(Rotation).大小(Scale)三个属性随着时间在做某种 ...

  6. CALayer与iOS动画 讲解及使用

    iOS CALayer与iOS动画 讲解及使用 关于CoreAnimation 初识CALayer CALayer CAAnimation CAMediaTiming UIView与CALayer动画 ...

  7. iOS开发系列--让你的应用“动”起来

    概览 在iOS中随处都可以看到绚丽的动画效果,实现这些动画的过程并不复杂,今天将带大家一窥iOS动画全貌.在这里你可以看到iOS中如何使用图层精简非交互式绘图,如何通过核心动画创建基础动画.关键帧动画 ...

  8. iOS开发之让你的应用“动”起来转写

    在iOS中随处都可以看到绚丽的动画效果,实现这些动画的过程并不复杂,今天将带大家一窥iOS动画全貌.在这里你可以看到iOS中如何使用图层精简非交互式绘图,如何通过核心动画创建基础动画.关键帧动画.动画 ...

  9. 模拟电路技术之基础知识(一)

    学模电第一步 笔记总目录 大体内容如下,做到全部内容熟记于心 文章目录 第一章 半导体器件 1.半导体基础 本征半导体 杂质半导体 PN结 PN结的的电容效应 2.半导体二极管 3.晶体三极管(BJT ...

最新文章

  1. 调试内存_C/C++程序调试和内存检测
  2. curl代理ippost php_php使用curl通过代理获取数据的实现方法
  3. 1365 浴火银河星际跳跃 (并查集)
  4. linux变量赋值取值,linuxshell编程对变量的赋值
  5. asp.net 获取全部在线用户_这款手绘风格的在线制图软件超棒
  6. TextView的跑马灯效果(AS开发实战第二章学习笔记)
  7. java multiple_Java Math multipleExact()使用方法和实例
  8. 织梦的网站地图怎么做html,织梦自带网站地图的生成制作方法详解
  9. 游戏引擎架构 (Jason Gregory 著)
  10. 智方8000系房地产进销存管理系统 flash软件下载
  11. Redis雪崩和Redis穿透
  12. python大麦网抢票_抢票攻略-大麦网
  13. 利用EXCEL将中文汉字转为拼音
  14. 方正快速开发平台ES2007数据导入功能问题总结
  15. CPU虚拟化技术及QEMU/KVM虚拟机安装实践
  16. China‘s Housing Market Economy Is Crumbling
  17. 读书笔记:程序员的数学 概率统计
  18. 灰鸽子--木马、后门实验
  19. 新思科技网络安全研究中心分析手机中的生物识别数据泄露漏洞
  20. Kafka触发Rebalance的场景分析

热门文章

  1. VS2005为什么会自动关闭?使用Visual Assist X的要注意了
  2. 数据分析想要酷一点?这个超火的动态图表,你一定要学会
  3. i-p2psearcher开源软件源码下载
  4. 【转】非常道-中小软件公司项目管理
  5. 为自己的p2psearcher理想而努力地奋斗
  6. 用C++实现可重用的数学例程
  7. 面向对象的关系数据库设计
  8. 一个月学会Python,零基础入门数据分析
  9. java jdk 的环境变量_Java JDK14(Java 14)在Windows上安装与环境变量配置
  10. python格式化输出区别_python格式化输出的区别