GAMES101学习(二)2D-3D变换操作与矩阵

本文讲的内容是GAMES101的Lecture3以及Lecture4,主题为变换。

课程链接:GAMES101B站课程
课程主要(有课件):课程主页

在这里插入图片描述

首先想象一个场景,我们在玩“推箱子”游戏的时候,里面的箱子是怎么变换?
我们可以简单理解为某个坐标系下的箱子的坐标发生了改变,或者说是箱子发生了一个二维变换。
接下来会简单介绍比较一些基础变换操作:

(1)缩放

左边是变换后物体的坐标,右边是缩放矩阵 ∗ * 变换前的物体坐标,s这里代表缩放倍数。
在这里插入图片描述
在这里插入图片描述

(2)翻转,同理,重点在于理解变换操作与矩阵的关系

在这里插入图片描述

(3)剪切,同理

在这里插入图片描述

(4)旋转,同理,默认是以原点为圆心,逆时针旋转

在这里插入图片描述

(5)总结——线性变换,任何线性变换都可以通过矩阵计算来实现

在这里插入图片描述

(6)平移

这里需要引入“齐次坐标”,因为平移操作无法用下面的“矩阵形式”去进行描述,因此“平移”操作并不是“线性变换”
在这里插入图片描述
下面是解决方案,通过引入第3维度向量,得到一下以下公式在这里插入图片描述

(7)2D变换可以由以下形式描述

在这里插入图片描述

(8)逆变换,即对变换矩阵取逆

在这里插入图片描述

(9)组合变换,任意的变换都可以通过线性变换+平移等操作来实现,其数学表达方式如下:

在这里插入图片描述

在这里插入图片描述
(10)3D变换,同理, 在处理3D点的时候学习2D数据处理方式,通过增加一个第4维(行向量w)可以来描述3D点的平移


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

我的公众号是 AI知识物语 , B站是 出门吃三碗饭,不定期更新相关文章or视频讲解,希望能对你们有帮助。

猜你喜欢

转载自blog.csdn.net/qq_40514113/article/details/129919455