3D仿射变换矩阵推导

本文详细探讨3D仿射变换,包括旋转、缩放和平移。重点介绍了如何通过矩阵乘法实现这些变换,特别是围绕Z轴的旋转矩阵的推导,并解释了为何在平移变换中需要引入四维矩阵。此外,还讨论了Model、View和Projection矩阵在3D坐标转换中的作用。
摘要由CSDN通过智能技术生成

仿射变换包括线性变换和平移变换,先来说线性变换中的旋转变换,这个稍微要复杂一点.

讲这个之前,我假设你已经对线性代数有一定的了解,比如三角函数,向量,以及矩阵的相关知识(以及他们所代表的几何意义),如果以上知识不熟悉,很难看懂下面讲的内容.

仿射变换包括旋转,缩放,平移,切变,反射...等等,在3D空间中,,所有这些效果都是通过矩阵来完成,也就是矩阵乘法实现,矩阵的乘法是满足结合律的,也就是说,我们可以通过先处理平移矩阵,再处理旋转矩阵,来达到平移并旋转物体到最终的位置,也可以先将平移和旋转两个矩阵组合成一个最终的矩阵,一次性应用到物体上,从而达到效果.

当然旋转可以是x轴,y轴,z轴中的任意维度的组合,基于以上推论,我们只需推导出任意一个轴的旋转即可,然后将三个维度的旋转组合成最终的矩阵应用到物体上.

那么我们就拿Z轴来说吧,如果绕Z轴旋转,相当于Z轴的坐标不变,我们将空间中的任何一点N投影到XY所在的平面,不考虑Z轴,假设投影点为P(x,y),当绕着Z轴旋转时(想象一下这个场景,有助于理解下面的证明),投影点旋转一定的角度到达P1(x1,y1)点,如下图:


根据矩阵的乘法运算规则,即可以得到绕Z轴旋转的矩阵M,同理如果我们绕X轴,或者Y轴也可以很简单的证明出来.

下面给出更为直观的理解:

我们知道3D空间中的任何点或者向量都可以表示成基向量的组合(分别是X,Y,Z方向的单位向量),在物体空间中,我们将坐标轴的范围定义为[-1,1],在未进行任何线性变换之前,三个基向量的分别为X(1,0,0), Y(0,1,0),Z(0,0,1),见下图,如果是绕X轴旋转,即ZY平面的旋转,如下:

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值