【GAMES101】03+04 变换Transformation

二维变换 2D transformation

1 缩放 scale matrix

在这里插入图片描述

2 反射 reflection matrix

在这里插入图片描述

3 切变 shear matrix

在这里插入图片描述

4 旋转(默认绕原点、逆时针旋转) rotate

在这里插入图片描述

旋转矩阵的逆等于旋转矩阵的转置(正交矩阵),即求逆向旋转某角度时 = 求正向旋转该角度矩阵再取转置。
(旋转 θ \theta θ 角和旋转 − θ -\theta θ 角正好互逆)
在这里插入图片描述

5 所有变换都可以写成以下形式:(线性变换)

在这里插入图片描述

6 齐次坐标

  1. 为什么要用齐次坐标?
    平移时:(不是线性变换)
    在这里插入图片描述
    在这里插入图片描述

不希望把平移变换看作一个特殊变换,想用一种方法表示包括平移在内的所有的变换,所以引入齐次坐标:
在这里插入图片描述
(把向量第三个维度设置成0是为了保证向量的平移不变性,一个向量在平移后还是一个向量)

在这里插入图片描述

  1. 仿射变换affine transform
    在这里插入图片描述

常见变换矩阵:
在这里插入图片描述
(仿射变换,最后一行一定是001,为了提高速度可以只存储上面6个数)(只有二维仿射变换最后一行才一定是001!!!!)

逆变换

  1. 逆变换对应逆矩阵
    在这里插入图片描述

  2. 组合变换
    在这里插入图片描述

注:矩阵在向量左边,作用于该向量。如下,先应用R45旋转矩阵(即矩阵对向量的作用,从右到左
在这里插入图片描述

在这里插入图片描述
(根据矩阵结合律,可以从An乘到A1再和向量相乘)

  1. 变换分解
    在这里插入图片描述
    (如图,绕点c旋转的变换分解)

三维变换

齐次坐标表示,同二维变换:

在这里插入图片描述

在这里插入图片描述
先线性变换再平移,比如上面例子是先R45再T(1, 0))

仿射变换

在这里插入图片描述
在这里插入图片描述
(绕 x 和 z 轴旋转,线性变换部分矩阵同旋转矩阵;绕 y 轴时不同,因为是z × x = y

旋转分解

在这里插入图片描述

罗德里格斯旋转公式:
在这里插入图片描述
(补充:四元数,比如旋转15度和旋转25度,两个旋转矩阵加起来求平均不是旋转20度——>四元数,解决旋转与旋转间的差值)

在这里插入图片描述
(这里没推出来)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值