【Lecture 03】变换(二维与三维)

GAMES101 课程链接

索引

矩阵与变换的关系

2D变换

齐次坐标与齐次矩阵

线性变换 与 仿射变换

逆变换

复合变换

分解复合变换

3D变换

笔记

  • 矩阵的作用

    可以用来进行计算空间变换

  • 2D变换

    类型:
    缩放(scale)

在这里插入图片描述
在这里插入图片描述

对称(reflection)

在这里插入图片描述
在这里插入图片描述

切变(shear)——或者叫做“拉拽”

在这里插入图片描述
在这里插入图片描述

旋转(rotate)

在这里插入图片描述
在这里插入图片描述

而平移就是属于仿射变换,因此与上述的一些二维变换有所不同,为了将其去特殊化,归纳为一个理论框架中,我们引入齐次坐标的概念——
我们给二维的点加入一个维度的数,令其为1;给二维的向量加入一个维度的数,令其为0,如下
在这里插入图片描述

那么,任何一个具有三个维度的数所构成的点(x,y,w)都可以写做(x/w,y/w,1),如下
在这里插入图片描述

然后我们把平移变换中的矩阵添加一个维度,变成三维矩阵,如下
在这里插入图片描述

在这里插入图片描述

变换后的三维坐标就是我们所要讲的齐次坐标,仿射变换也因此可以改写成线性变换,这样我们就把原本特殊的平移变换也归纳到一个框架中来了

平移(translation)

在这里插入图片描述
在这里插入图片描述

下面介绍一下线性变换与仿射变换
在这里插入图片描述

这种用矩阵乘法形式表示的就是线性变换(linear transformation),
其可以写为线性表达式
在这里插入图片描述在这里插入图片描述
而左边这种叫作仿射变换(affine transformation),会在后面带一个向量

以上这些二维变换的实质是点的坐标按照一定规则进行变化,关键在于找到变换前和变换后的坐标间的关系

  • 齐次坐标(homogenous coordinates)

    下图是将2D变换改写为齐次坐标后的形式
    在这里插入图片描述

    可以发现齐次坐标下的变换矩阵的最后一行始终为[0,0,1]

  • 逆变换(Inverse transform)

    将变换进行还原的一种操作(乘以M的逆矩阵)
    在这里插入图片描述

  • 复合变换(Composite Transform)

    将几种简单的变换组合在一起
    在这里插入图片描述

  • 变换的顺序

    变换的先后次序会造成不同的结果(如先平移后旋转和先旋转后平移所带来的结果就不同)
    这也与矩阵乘法不具有交换律的性质相一致
    在实际应用中,我们把原坐标放在最右边,第一次线性变换放在它的左边,第二次线性变换放在更左边,即从右到左进行运算——
    在这里插入图片描述

    其实左侧乘上的一系列矩阵可以利用结合律将其全部先乘出来,这样就是将看起来非常繁琐复杂的变换变成了单个的矩阵进行线性变换了

  • 分解复合变换(Decomposing Complex Transforms)

    当旋转点不在原点时,我们可以先将旋转点平移到原点,然后进行旋转,最后将旋转后的图形整体移动到原来的位置
    在这里插入图片描述

    用矩阵表示就是
    在这里插入图片描述
    (注意是从右到左进行运算)

  • 3D变换

    与2D变换类似,我们可以再引入一个维度——
    在这里插入图片描述

    一个三维空间中的点也可以表示为
    在这里插入图片描述

    同样的,齐次矩阵就是——
    在这里插入图片描述

    ( 可以发现最后一行依然为 [0,0,0,1]
    同时,左上角的3X3矩阵其实就是表示线性变换,而添加的第四行和第四列则是仿射变换(表示平移)的尾巴部分
    那么,进行该变换时,是线性变换先进行呢?还是平移先进行?
    在这里插入图片描述
    (根据仿射变换的表达式,可以发现是左侧的线性变换先进行,然后再进行平移)

Lecture 03 完

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值