OpenGL之矩阵变换的原理分析与数学推导

本文详细介绍了OpenGL中的矩阵变换,包括模型矩阵、视图矩阵和投影矩阵的数学推导过程。首先,解释了模型矩阵如何将物体从局部坐标系转换到世界坐标系,接着,通过设置Camera的位置和朝向生成视图矩阵,实现不同视角的观察。最后,通过投影矩阵实现了近大远小的透视效果。文章还探讨了平移、缩放和旋转三种基本变换的矩阵表示,并提供了相应的函数解析。
摘要由CSDN通过智能技术生成

什么是矩阵变换?

矩阵变换示意图
这张图比较直观地展示了OpenGL矩阵变换的过程,下面详解一下其中的含义:

  • 首先OpenGL有个世界坐标系,我们渲染的物体就是在世界坐标系中,模型需要放到世界坐标系中,那么当还没放的时候,模型就和世界坐标系没有联系,它就还处于自己的坐标系中,叫做物体坐标系(模型坐标系、局部空间、局部坐标系),也就是图中的LOCAL SPACE
  • 当把模型放到世界坐标系中,模型就在世界坐标系里有了坐标,也就是原来在LOCAL SPACE中的那些坐标值,变成了世界坐标系中的坐标值,帮助我们完成这个变换的就是模型矩阵,对应图中的MODEL MATRIX,于是这样就把模型放到了世界坐标系WORLD SPACE中;
  • 放到世界坐标系后,是不是就确定了渲染出来看到的样子?还没有,大家可以想像一下,把一个东西放在世界坐标系的某个地方,可以从近处看观察它,也可以从远处观察它,还可以从上下左右观察它,甚至还可以倒着观察它,因些还需要确定观察它的状态。OpenGL里虚拟出了一个Camera(特别注意,这里的Camera不是指硬件的Camera,可以理解为一个观者者的角度),从API的层面上看ÿ
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

╰つ栺尖篴夢ゞ

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值