1、矩阵具有坐标变换的作用,例如:左乘一个旋转矩阵,实现点的坐标旋转,左乘一个平移矩阵实现,点的平移

2、一个点可以同时串联相乘几个变换矩阵,实现坐标连续变换,根据左乘规则,右边矩阵先作用于点,作用顺序从右往左,例如:C*B*A*point(注:C,B,A分别为变换矩阵,point为一个vector3的位置向量,即点的x,y,z坐标)运算式子,矩阵A先作用于point,其次是B,C

3、QMatrix4x4矩阵类本身就支持translate,rotate,projection等连续变换函数,那么问题来了,qs这些变换的作用顺序是怎么样的,实际上和上面说的矩阵作用规则是一样的。

顺序是按照后变换,先作用的,具体如下,

? ? matrix.perspective(45,w/h,0.1,100);? ? ?// 透视矩阵变换

? ? matrix.translate(0.8,0,-5);? ? // 平移变换

? ? matrix.rotate(30,0,1,0)? ? // 绕着y轴旋转30度

? ? ? matrix*point;? ? ?// 注:此时这给点是先执行了旋转,再平移,最后透视处理。

? ? ?//?而不是从上往下顺序,先透视,再平移和旋转

上面代码作用等同于如下代码:

? ? matrix1.perspective(45,w/h,0.1,100);? ? ?// 用一个单独矩阵,透视矩阵变换

? ? ? ? matrix2.translate(0.8,0,-5);? ? // 用另一个单独矩阵,平移变换

? ? matrix3.rotate(30,0,1,0)? ? ? ? ? ? ? ? ? ? ? ? ?// 再用一个单独矩阵,绕着y轴旋转30度

? ? matrix1*matrix2*matrix3*point;? ? ?//?先执行了旋转,再平移,最后透视处理

最新文章

  1. Eclipse下配置javaweb项目快速部署到tomcat
  2. 【CityHunter】服务器端设计思路
  3. C#关于winforms窗体大小、边框、移动、动画等属性
  4. MYSQL数据库的常用数据类型
  5. 菜鸟类库诞生记二:通过反射转换DataRow为对象
  6. Surround the Trees---hdu1392(凸包GraHam模板)
  7. Redis集群战法整理
  8. Unix文件操作
  9. [转]JAVA自动装箱和拆箱
  10. Asp.net MVC 简单实现生成Excel并下载
  11. Java ORM Hibernate 入门笔记
  12. Ubuntu系统下配置IP地址方法介绍
  13. JS判断图片是否加载完成 背景图404 快到碗里来
  14. 将自己的ubuntu18.04打包成镜像
  15. ux.form.field.Password 密码与非密码状态切换
  16. node(03)--利用 HTTP 模块 URl 模块 PATH 模块 FS 模块创建一个 WEB 服务器
  17. variable 'o' used without having been completely initialized Compiling Vertex program
  18. 初识python函数
  19. NOIP2018初赛 解题报告(C++普及)
  20. JSP禁用缓存的方式 response.setHeader( "Pragma", "no-cache" ); setDateHeader("Expires", 0);

热门文章

  1. 记一次系统崩溃事件【Mac版】
  2. 第二十六篇 -- wifi学习
  3. Adaptive AUTOSAR 学习笔记 10 - 执行管理
  4. CF427C题解
  5. 蓝凌OA前台任意文件读取漏洞利用
  6. Java数组07——稀疏数组
  7. gRPC学习之一:在CentOS7部署和设置GO
  8. 十分钟带你了解CANN应用开发全流程
  9. spring-security oauth2.0简单集成
  10. 一文搞懂B树、B-树、B+树