Chapter 6: Transformation Matricies

2D Linear Transformations

可以使用一个 2 ✖ 2 矩阵对一个2维向量进行坐标变换:

在这里插入图片描述

Scaling

在这里插入图片描述

在这里插入图片描述

Shearing

在这里插入图片描述

在这里插入图片描述

Rotation

在这里插入图片描述
注意:旋转矩阵为正交矩阵,故其逆矩阵就为其转置矩阵,旋转 θ 角度的旋转矩阵的逆矩阵其实就是旋转 - θ 角度。
在这里插入图片描述

Reflection

在这里插入图片描述

Decomposition of Transformations

Symmetric Eigenvalue Decomposition:A = RSRT

如下为一个例子:

在这里插入图片描述

Singular Value Decomposition:A = USVT

奇异值分解博客可以看这篇:奇异值分解

如下为一个例子:

在这里插入图片描述

Homogeneous Coordinates

对于线性变换而言,它可以很好的表示缩放、旋转,但是无法表示平移:

在这里插入图片描述

在这里插入图片描述

用矩阵表示如下:

在这里插入图片描述

解决上述问题可以通过增加一个维度(使用齐次坐标):

  1. 点 (x, y) 表示为 (x, y, 1)
  2. 向量 [x, y]T 表示为 [x, y, 0]T

在这里插入图片描述

这种类型的变换叫做仿射变换:仿射变换(affine transformation) = 线性变换 + 平移

需注意如下4点:

在这里插入图片描述

rigid-body transforms:由平移和旋转组成的变换,不存在拉伸和剪切变换。

3D Transformations

3D 变换其实就是在2D变换的基础上增加了一个维度,同样使用齐次坐标:

  1. 点 (x, y, z) 表示为 (x, y, z, 1)
  2. 向量 [x, y, z]T 表示为 [x, y, z, 0]T

Transforming Normal Vectors

如果对物体进行了仿射(affine)变换,变换矩阵为 M ,那么它的法向量的变换矩阵是 M 的逆的转置:(M-1)T

虽然法向量不垂直了,但是切向量依旧平行于表面,故而可以根据切向量来求表换后的法向量。如下图所示:

在这里插入图片描述
不妨这样来看,对于有着法向量 n = [A, B, C]T 并且过原点的平面其上的点 P(x, y, z) 满足方程 Ax + By + Cz = 0,即 nT· P = 0

矩阵形式为:在这里插入图片描述

因为 n 是向量, P 是点,所以如上补上 0 和 1。

进一步该矩阵可以写成:在这里插入图片描述

其中 MP 可以看作是变换后的点,那么就有 nTM-1 垂直于变换后的点,这就是变换后的法向量的转置,所以转置后的法向量为:

在这里插入图片描述
所以变换法向量所用的矩阵为 (M-1)T。上述提到的为仿射变换,平移、旋转、缩放都不会影响法向量,但是透视投影会,因为它不是线性变换。

Exercises

Ex1

在这里插入图片描述

在这里插入图片描述

Ex2

在这里插入图片描述

在这里插入图片描述

Ex3

在这里插入图片描述

在这里插入图片描述

Ex4

在这里插入图片描述

在这里插入图片描述

Ex5

在这里插入图片描述

在这里插入图片描述

Ex6

在这里插入图片描述

在这里插入图片描述

Ex7

在这里插入图片描述

同Ex6

Ex8

在这里插入图片描述

绕原点逆时针旋转90度,然后平移[1, 1]

Ex9

在这里插入图片描述

可以先将点平移到原点,接着旋转θ角度,最后再平移回去

在这里插入图片描述

Ex10

在这里插入图片描述

根据欧拉角来转换

在这里插入图片描述

Ex11

在这里插入图片描述

将α,β,γ都变为2π- θ
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值