位置: 编程技术 - 正文

openGL 矩阵的旋转-平移-缩放(opengl绘制图形旋转)

编辑:rootadmin

推荐整理分享openGL 矩阵的旋转-平移-缩放(opengl绘制图形旋转),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:opengl矩形,opengl矩阵变换,opengl矩阵变换,opengl旋转变换,opengl 旋转矩阵,opengl matrix,opengl 模型视图矩阵,opengl 旋转矩阵,内容如对您有帮助,希望把文章链接给更多的朋友!

1. openGL的矩阵

openGL的矩阵是列优先排序的。就是说,矩阵的数据是存贮在一维数组中,数据上传到openGL处理的时候,会把一维数据的每一行当做列来处理。比如说,一个4*4的矩阵在数组中的排列如下:

当被传输到openGL会当做下面这样的矩阵来处理:

由图可见,m0, m1, m2 表示了x轴, m4, m5, m6 表示了y轴, m8, m9, m 表示了z轴, 而m, m, m表示了平移量。而最后一行的,m3, m7, m, m是齐次坐标。唯有m等于1是为了,在做矩阵计算的时候,平移量影响到平移量本身,而不会影响到xyz轴的数&#;。

2. 单位矩阵

没有任何旋转,平移,缩放的矩阵用单位矩阵来表示。所有的旋转,平移,缩放,都是在单位矩阵的基础上进行的。如下:

可见单位矩阵的xyz轴都是单位向量平移向量为0

3. 矩阵乘法

openGL 矩阵的旋转-平移-缩放(opengl绘制图形旋转)

旋转,平移,缩放的数据变化是通过矩阵乘法把数&#;存贮在矩阵中的。简单描述一下矩阵乘法的规则,就是左边矩阵决定结果矩阵的行,右边矩阵决定结果矩阵的列。那么计算的过程是,左边矩阵的行,元素对应乘以,右边矩阵的列,得到的&#;在结果矩阵的位置就是,左边矩阵的行右边矩阵的列。

4. 矩阵按照某个向量平移

平移向量即是(tx, ty, tz), 我们做乘法的时候需要按照openGL处理矩阵的方式,所以m0, m4, m8 是第一行以此类推。我们把计算的数&#;存贮到矩阵的平移向量里。

5. 矩阵在某个向量上缩放

就是把矩阵中x, y, z向量乘以对应的缩放比例即可。

6. 矩阵在某个向量上旋转

在任意向量上旋转有些复杂,只说明一下特殊的情况,按照xyz轴旋转。在数学上,我们知道点(x, y)旋转一个a弧度后的坐标是:(x * cosa - y * sina, x * sina &#; y * cosa), 所以我们可以得出

单位矩阵在Z轴上旋转a弧度后的一个矩阵为:

同理单位矩阵在X轴上旋转a弧度后的矩阵:同理单位矩阵在Y轴上旋转a弧度后的矩阵:最后把需要旋转的矩阵乘以单位矩阵的旋转矩阵,就会把旋转的数&#;存储到结果矩阵中了。

qt5错误can not find -lGL的解决方法 位ubuntu安装qt后,用桌面套件构建运行时,错误显示can'tfind-lGLcollect2:error:ldreturned1exitedstatus这是由于缺少opengl库引起的,可以在终端输入sudoapt-getinstal

opengl 绘制简单的带纹理贴图的立方体 #includegl/glew.h#includeglfw/glfw3.h#includeglm/glm.hpp#includeglm/gtc/matrix_transform.hpp#includeglm/gtc/type_ptr.hpp#includeiostream#includeourProgram.h#includeSOIL.husingnamespacestd;intmain(){gl

OpenGL学习笔记-.3.——transform feedback缓存&粒子系统示例分析 transformfeedback是OpenGL中比较酷炫的特性之一,他让客户端应用程序可以获取到渲染流水线上的顶点数据。基于这一特性实现了基于z-pass场景决策渲染技术

标签: opengl绘制图形旋转

本文链接地址:https://www.jiuchutong.com/biancheng/369608.html 转载请保留说明!

上一篇:OpenGL--3D世界(视图变换,模型变换,投影变换,视口变换)(opengl 3d engine)

下一篇:qt5错误can not find -lGL的解决方法(qt_5 not found)

  • 税务局退回个税手续费会计分录
  • 增值税普通发票几个点
  • 赊销和分销时纳税义务发生时间是什么时候?
  • 税收管辖权是指
  • 劳务属于什么工种
  • 油费可以抵扣进项税额
  • 管家婆未开账可以录入单据吗
  • 小规模个体户营业执照一共几个章
  • 业务招待费的扣除标准是什么2022
  • 公司债券投资的优缺点
  • 进项税超期怎么办
  • 小规模纳税人开普票免税
  • 印花税缴款了发现报错了怎么办?
  • 可供出售债权投资
  • 租车补贴记入工资的会计处理怎么做?
  • 股票属于现金及股票吗
  • 发票已开款项未入账有什么影响?
  • 销项发票遗失怎么办
  • 建筑业简易征收差额征税的计算案例
  • 企业所得税计提分录怎么写
  • 待认证进项税额是什么情况下用的
  • 房地产公司成立时间
  • 每股股份价格
  • 年终奖个税公式 2022
  • 办公室装修计入什么科目里
  • 应收账款坏账有什么措施改善
  • 增值税发票已经认证可以撤销吗?
  • 主营业务成本是借方增加还是贷方增加
  • 交易性金融资产的交易费用计入哪里
  • 多系统设置
  • PHP:mb_ereg_match()的用法_mbstring函数
  • 小微企业一般纳税人
  • 已计提折旧怎么计算
  • Win11 Build 22000.282正式版推送: 附更新修复内容汇总
  • 记账凭证的编制方法有几种
  • 购入专利权的会计科目
  • 机器学习,看这一篇就够了:回归算法,特征工程,分类算法,聚类算法,神经网络,深度学习入门
  • 职工福利费入账依据
  • softag
  • 企业购买烟酒可以抵扣吗
  • pytorch1.9.0
  • phpsubstr方法参数
  • 过年回家的你
  • 自学前端,你必做的事
  • 语义分割用途
  • 无偿转让股权印花税计税金额
  • 哪些合同必须签订书面合同
  • python27文件夹
  • 供应商质量考核评估表样板
  • 改签机票要收费
  • 业务招待费是否计入管理费用
  • sql server基本
  • sqlserver2008sa用户不能登录
  • 其他综合收益算不算所有者权益
  • 建筑企业如何按季度申报
  • 发票还没认证可以报销吗
  • 记账凭证错误要重开吗
  • 企业所得税季报与年报的关系
  • 车辆购置税的税目有哪些
  • 股东投入固定资产怎么做账
  • 开销项负数的流程
  • 金蝶如何删除结转损益的凭证
  • 刻章费发票怎么开
  • 如何删除windowsedb
  • ubuntu20.04升级
  • 不需要秘密的wifi安全吗
  • linux使用方式有哪些方面
  • saproxy.exe - saproxy是什么进程 有什么用
  • manager是啥
  • win10 win8.1双系统
  • linux 内核编译
  • cocos2djs
  • javascript数组去重set方法
  • jquery移出class
  • js中的flat
  • js使文本框失去焦点的方法
  • js如何修改style
  • <script defer> defer 是什么意思
  • 编写python程序的步骤
  • unity2d角色换装
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设