第6章变换矩阵

本章主题:几何变换

旋转,平移,缩放,投影

6.1二维线性变换 (2D Linear Transformations)

线性变换

6.1.1缩放(scaling)
6.1.2剪切(shearing)
6.1.3旋转(rotation)
6.1.4反射(reflection)
6.1.5变换的组合和分解(composition and decomposition of transformations)

注意变换的顺序

6.1.6变换的分解(decomposition of transformations)
对特征值的分解Symmetric Eigenvalue Decomposition

对称矩阵总是可以使用特征值分解

​ A = RS *R的转置

其中 R 是正交矩阵,S 是对角矩阵; 我们将 R 的列(特征向量)命名为 v1 和 v2,我们将 S 的对角元素(特征值)命名为 λ1 和 λ2

例子

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ppFukuC5-1625968208939)(C:\Users\xingge\AppData\Roaming\Typora\typora-user-images\image-20210627114426543.png)]

奇异值分解Singular Value Decomposition

非对称矩阵也有相似的分解

​ A = US* V的转置

  1. 将 v1 和 v2 旋转到 x 和 y 轴(V的转置变换)。

  2. 在 x 和 y 中按 (σ1, σ2) 缩放(S 的变换)。

  3. 将 x 轴和 y 轴旋转到 u1 和 u2(U 的变换)。

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-VQSZ8QF2-1625968208940)(C:\Users\xingge\AppData\Roaming\Typora\typora-user-images\image-20210628111621340.png)]

旋转路径的分解Paeth Decomposition of Rotations

6.2 3D线性变换

​ 3D线性变换是2D线性变换的一个拓展

6.2.1任意3D旋转

6.2.2法线变换

t为曲面切线 n为法线

式子:
n T ∗ t = 0 n^{T} * t = 0 nTt=0
如果该曲线同过变换矩阵M 将t和n得到变换的后的 Mn法线和 Mt切线 ,但这两个向量不会互相垂直

所以本小节的目的是寻找曲线变换后的法线Nn

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-8CksCl1S-1625968208940)(C:\Users\xingge\AppData\Roaming\Typora\typora-user-images\image-20210711084936239.png)]

即目的是
N n T ∗ M t = 0 Nn^{T} * Mt = 0 NnTMt=0
首先 插入单位矩阵 I= M^-1 * M; 得出


n T ∗ t = n T I t = n T M − 1 M t = 0 n^{T} * t = n^{T}It = n^{T}M^{-1}Mt=0 nTt=nTIt=nTM1Mt=0
然后添加括号
( n T M − 1 ) ( M t ) = ( n T M − 1 ) M t = 0 (n^{T}M^{-1})(Mt)= (n^{T}M^{-1}) Mt = 0 (nTM1)(Mt)=(nTM1)Mt=0
M*t 为变换后的切线Mt

所以
N n T = n T M − 1 Nn^{T} = n^{T}M^{-1} NnT=nTM1

N n = ( n T M − 1 ) T = ( M − 1 ) T n Nn = (n^{T}M^{-1}) ^ {T} = (M^{-1})^{T}n Nn=(nTM1)T=(M1)Tn

如果在opengl的glsl中可以表示

Normal = mat3(transpose(inverse(M))) * aNormal 

6.3平移和仿射变换

引入w分量来表示平移,这样旋转和平移都可以表示在同一个矩阵中,齐次坐标

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ZeV2kUxI-1625968208941)(C:\Users\xingge\AppData\Roaming\Typora\typora-user-images\image-20210711092532295.png)]

如果w = 0 这表示这是个向量

如果w 不为0 表示为一个点

6.4变换矩阵的逆

6.5坐标变换

矩阵中,齐次坐标

[外链图片转存中…(img-ZeV2kUxI-1625968208941)]

如果w = 0 这表示这是个向量

如果w 不为0 表示为一个点

6.4变换矩阵的逆

6.5坐标变换

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值