[GAMES101]旋转矩阵的逆为什么等于其转置 您所在的位置:网站首页 矩阵的转置和逆矩阵的关系是什么 [GAMES101]旋转矩阵的逆为什么等于其转置

[GAMES101]旋转矩阵的逆为什么等于其转置

2024-07-12 00:22| 来源: 网络整理| 查看: 265

一、背景

计算机图形学中,坐标变换一个重要的内容。在三维坐标空间中,使用齐次坐标可以达到对空间中点进行缩放(Scale)、平移(Translation)和旋转(Rotate)的效果。三维空间中的点可以使用 p = [ x , y , z , 1 ] ⊤ p = [x,y,z,1]^\top p=[x,y,z,1]⊤表示,三维空间中向量可以使用 v = [ x , y , z , 0 ] ⊤ v=[x,y,z,0]^\top v=[x,y,z,0]⊤表示。 本文根据games101第4节课程的内容,主要讨论在旋转变换中,旋转矩阵的逆为何等于旋转矩阵的转置。

二、问题描述

在games101第4节中闫老师介绍了空间中坐标的转换。其中第16张ppt如下: View/Camera Transformation

其中旋转矩阵 R v i e w − 1 R_{view}^{-1} Rview−1​表示从坐标系统 T v i e w T_{view} Tview​转换到坐标系统 M v i e w M_{view} Mview​,相应的 R v i e w R_{view} Rview​为从坐标系统 M v i e w M_{view} Mview​转换到坐标系统 T v i e w T_{view} Tview​。同时可以得知 R v i e w − 1 = R v i e w ⊤ R_{view}^{-1}=R_{view}^\top Rview−1​=Rview⊤​,那么为什么这么巧合 R v i e w − 1 = R v i e w ⊤ R_{view}^{-1}=R_{view}^\top Rview−1​=Rview⊤​?(就是ppt中的蓝色的WHY),本文接下来将证明 R v i e w − 1 = R v i e w ⊤ R_{view}^{-1}=R_{view}^\top Rview−1​=Rview⊤​。

三、证明 1. 证明

原文中使用的是齐次坐标,为了便于计算,接下来将使用绝对坐标,那么 R R R和 R ⊤ R^\top R⊤分别为: R v i e w = [ x g × t x t x − g y g × t y t y − g z g × t z t z − g ] R_{view}= \begin{gathered} \begin{bmatrix} x_{g\times t} & x_{t} & x_{-g} &\\ y_{g\times t}&y_{t}&y_{-g} \\ z_{g\times t}&z_{t} & z_{-g} \end{bmatrix} \end{gathered} Rview​= ​xg×t​yg×t​zg×t​​xt​yt​zt​​x−g​y−g​z−g​​ ​​

R v i e w ⊤ = [ x g × t y g × t z g × t x t y t z t x − g y − g z − g ] R_{view}^\top= \begin{gathered} \begin{bmatrix} x_{g\times t} & y_{g\times t} & z_{g\times t} &\\ x_{t}&y_{t}&z_{t} \\ x_{-g}&y_{-g} & z_{-g} \end{bmatrix} \end{gathered} Rview⊤​= ​xg×t​xt​x−g​​yg×t​yt​y−g​​zg×t​zt​z−g​​ ​​ 即: R v i e w = [ X Y Z ] R_{view}= \begin{gathered} \begin{bmatrix} X&Y&Z \end{bmatrix} \end{gathered} Rview​=[X​Y​Z​]​ R v i e w ⊤ = [ X ⊤ Y ⊤ Z ⊤ ] R_{view}^\top= \begin{gathered} \begin{bmatrix} X^\top\\ Y^\top\\ Z^\top \end{bmatrix} \end{gathered} Rview⊤​= ​X⊤Y⊤Z⊤​ ​​

那么 R v i e w ⊤ ⋅ R v i e w = [ X ⊤ ⋅ X X ⊤ ⋅ Y X ⊤ ⋅ Z Y ⊤ ⋅ X Y ⊤ ⋅ Y Y ⊤ ⋅ Z Z ⊤ ⋅ X Z ⊤ ⋅ Y Z ⊤ ⋅ Z ] R_{view}^\top\cdot R_{view}= \begin{gathered} \begin{bmatrix} X^\top\cdot X & X^\top\cdot Y&X^\top\cdot Z\\ Y^\top\cdot X & Y^\top\cdot Y&Y^\top\cdot Z\\ Z^\top\cdot X & Z^\top\cdot Y&Z^\top\cdot Z \end{bmatrix} \end{gathered} Rview⊤​⋅Rview​= ​X⊤⋅XY⊤⋅XZ⊤⋅X​X⊤⋅YY⊤⋅YZ⊤⋅Y​X⊤⋅ZY⊤⋅ZZ⊤⋅Z​ ​​ 因为 X , Y , Z X,Y,Z X,Y,Z三个向量模长都为1,并且相互垂直,因此可以得到: X ⊤ ⋅ X = Y ⊤ ⋅ Y = Z ⊤ ⋅ Z = 1 X^\top\cdot X=Y^\top\cdot Y=Z^\top \cdot Z = 1 X⊤⋅X=Y⊤⋅Y=Z⊤⋅Z=1 X ⊤ ⋅ Y = X ⊤ ⋅ Z = 0 X^\top\cdot Y=X^\top\cdot Z=0 X⊤⋅Y=X⊤⋅Z=0 Y ⊤ ⋅ Z = Y ⊤ ⋅ Z = 0 Y^\top\cdot Z=Y^\top\cdot Z=0 Y⊤⋅Z=Y⊤⋅Z=0 Z ⊤ ⋅ X = Z ⊤ ⋅ Y = 0 Z^\top\cdot X=Z^\top\cdot Y=0 Z⊤⋅X=Z⊤⋅Y=0 那么 R v i e w ⊤ ⋅ R v i e w = [ 1 0 0 0 1 0 0 0 1 ] R_{view}^\top\cdot R_{view}= \begin{gathered} \begin{bmatrix} 1&0&0\\ 0&1&0\\ 0&0&1 \end{bmatrix} \end{gathered} Rview⊤​⋅Rview​= ​100​010​001​ ​​ 说明 R v i e w ⊤ = R v i e w − 1 R_{view}^\top=R_{view}^{-1} Rview⊤​=Rview−1​,即求证 R v i e w − 1 = R v i e w ⊤ R_{view}^{-1}=R_{view}^\top Rview−1​=Rview⊤​得证。 同时,也可以得到: R v i e w ⋅ R v i e w ⊤ = R v i e w ⊤ ⋅ R v i e w R_{view}\cdot R_{view}^\top=R_{view}^\top \cdot R_{view} Rview​⋅Rview⊤​=Rview⊤​⋅Rview​

2. 正交矩阵

其实旋转矩阵 R R R和 R − 1 R^{-1} R−1都为正交矩阵。根据维基百科的定义,正交矩阵为是一个方块矩阵 Q Q Q,其元素为实数,而且行向量和列向量皆为正交的单位向量,使得该矩阵的转置矩阵为其逆矩阵: Q ⊤ = Q − 1 < = > Q ⊤ Q = Q Q ⊤ = I Q^\top=Q^{-1}Q^\top Q=QQ^\top=I Q⊤=Q−1Q⊤Q=QQ⊤=I 其中 I I I为单位矩阵。

3. 旋转矩阵是正交矩阵的证明

其实根据1.证明和2.正交矩阵的定义可以看出矩阵 R v i e w R_{view} Rview​和矩阵 R v i e w R_{view} Rview​都为正交矩阵。

四、总结

坐标转换在计算机图形学中是一个重要的内容,可以使用变换矩阵对空间点进行变换。变换可以分为缩放、平移和旋转,其中旋转矩阵 R R R是一个正交矩阵,因此满足 R − 1 = = R ⊤ R^{-1}==R^\top R−1==R⊤。假如从空间 B B B旋转变换到 A A A空间的旋转矩阵为 R B − > A R_{B->A} RB−>A​那么,从空间 A A A旋转变换到 B B B空间的旋转矩阵即为 R A − > B = R B − > A ⊤ R_{A->B}=R_{B->A}^\top RA−>B​=RB−>A⊤​。

五、参考

[1]. Lecture 4Transformation Cont. [2]. 旋转矩阵(Rotate Matrix)的性质分析 [3]. 理解旋转矩阵的逆等于旋转矩阵的转置



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有