fbpx
维基百科

变换矩阵

变换矩阵(英語:Transformation matrix)是数学线性代数中的一个概念。线性变换采用矩阵表示时,如果T是一个把Rn映射到Rm的线性变换,且x是一个具有n个元素的column vector,那么

我们把m×n的矩阵A,称为T的变换矩阵

应用 编辑

任意线性变换都可以用矩阵表示为易于计算的一致形式[1],并且多个变换也可以很容易地通过矩阵的相乘连接在一起。

线性变换不是唯一可以用矩阵表示的变换。Rn维的仿射变换透视投影都可以用齐次坐标表示为RPn+1维(即n+1维的真实投影空间)的线性变换。因此,在三维计算机图形学中大量使用着4x4的矩阵变换。

寻找变换矩阵 编辑

如果已经有一个函数型的线性变换 ,那么通过T对标准基每个向量进行简单变换,然后将结果插入矩阵的列中,这样很容易就可以确定变换矩阵A,即

 

例如,函数 是线性变换,通过上面的过程得到(假设n = 2)

 

在二维图形中的应用示例 编辑

最为常用的几何变换都是线性变换,这包括旋转、缩放、切变、反射以及正投影。在二维空间中,线性变换可以用2×2的变换矩阵表示。

旋转 编辑

绕原点逆时针旋转 θ 度角的变换公式是   ,用矩阵表示为:

 

缩放 编辑

缩放(反矩陣)公式为   ,用矩阵表示为:

 

推移 编辑

推移有两种可能的形式:

平行于 x 轴的推移为   ,矩阵表示为:

 

平行于 y 轴的推移为   ,矩阵表示为:

 

反射 编辑

为了沿经过原点的直线反射向量,假设(ux, uy)为直线方向的单位向量。变换矩阵为:

 

不经过原点的直线的反射是仿射变换,而不是线性变换。

若一座標(x, y)沿直線   進行反射,則其影像(x', y')可用以下公式求得:

 

正投影 编辑

为了将向量正投影到一条经过原点的直线,假设(ux, uy)是直线方向的单位向量,变换矩阵为:

 

跟反射一样,正投影到一条不经过原点的直线的变换是仿射变换,而不是线性变换。

平行投影也是线性变换,也可以用矩阵表示。但是透视投影不是线性变换,必须用齐次坐标表示。

组合变换与逆变换 编辑

用矩阵表示线性变换的一个主要动力就是可以很容易地进行组合变换以及逆变换。

组合可以通过矩阵乘法来完成。如果AB是两个线性变换,那么对向量x先进行A变换,然后进行B变换的过程为:

 

换句话说,AB变换的组合等同于两个矩阵乘积的变换。需要注意的是先AB表示为BA而不是AB

能够通过两个矩阵相乘将两个变换组合在一起这样的能力就使得可以通过逆矩阵进行变换的逆变换。A -1表示A的逆变换。

变换矩阵并不都是可逆的,但通常都可以进行直观的解释。在上一节中,几乎所有的变换都是可逆的。只要  都不为零,那么缩放变换也是可逆的。另外,正投影永远是不可逆的。

其它类型的变换 编辑

仿射变换 编辑

为了表示仿射变换,需要使用齐次坐标,即用三维向量(x, y, 1)表示二维向量,对于高维来说也是如此。按照这种方法,就可以用矩阵乘法表示变换。 ;  变为

 

在矩阵中增加一列与一行,除右下角的元素为1外其它部分填充为0,通过这种方法,所有的线性变换都可以转换为仿射变换。例如,上面的旋转矩阵变为

 

通过这种方法,使用与前面一样的矩阵乘积可以将各种变换无缝地集成到一起。

当使用仿射变换时,齐次坐标向量w从来不变,这样可以把它当作为1。但是,透视投影中并不是这样。

透视投影 编辑

三维计算机图形学中另外一种重要的变换是透视投影。与平行投影沿着平行线将物体投影到图像平面上不同,透视投影按照从投影中心这一点发出的直线将物体投影到图像平面。这就意味着距离投影中心越远投影越小,距离越近投影越大。

最简单的透视投影将投影中心作为坐标原点,z = 1作为图像平面,这样投影变换为 ;  ,用齐次坐标表示为:

 

(这个乘法的计算结果是  =  。)

在进行乘法计算之后,通常齐次元素wc并不为1,所以为了映射回真实平面需要进行齐次除法,即每个元素都除以wc

 

更加复杂的透视投影可以是与旋转、缩放、平移、切变等组合在一起对图像进行变换。

参见 编辑

参考资料 编辑

  1. ^ Gentle, James E. Matrix Transformations and Factorizations. Matrix Algebra: Theory, Computations, and Applications in Statistics. Springer. 2007 [2014-10-18]. ISBN 9780387708737. (原始内容于2017-02-21) (英语). 

外部連結 编辑

  • 线性变换求解器. idomaths.com. [2009-09-04]. (原始内容于2009-09-04) (英语). 

变换矩阵, 此條目需要补充更多来源, 2019年12月15日, 请协助補充多方面可靠来源以改善这篇条目, 无法查证的内容可能會因為异议提出而被移除, 致使用者, 请搜索一下条目的标题, 来源搜索, 网页, 新闻, 书籍, 学术, 图像, 以检查网络上是否存在该主题的更多可靠来源, 判定指引, 英語, transformation, matrix, 是数学线性代数中的一个概念, 线性变换采用矩阵表示时, 如果t是一个把rn映射到rm的线性变换, 且x是一个具有n个元素的column, vector, 那么, disp. 此條目需要补充更多来源 2019年12月15日 请协助補充多方面可靠来源以改善这篇条目 无法查证的内容可能會因為异议提出而被移除 致使用者 请搜索一下条目的标题 来源搜索 变换矩阵 网页 新闻 书籍 学术 图像 以检查网络上是否存在该主题的更多可靠来源 判定指引 变换矩阵 英語 Transformation matrix 是数学线性代数中的一个概念 线性变换采用矩阵表示时 如果T是一个把Rn映射到Rm的线性变换 且x是一个具有n个元素的column vector 那么 T x A x displaystyle T vec x mathbf A vec x 我们把m n的矩阵A 称为T的变换矩阵 目录 1 应用 2 寻找变换矩阵 3 在二维图形中的应用示例 3 1 旋转 3 2 缩放 3 3 推移 3 4 反射 3 5 正投影 4 组合变换与逆变换 5 其它类型的变换 5 1 仿射变换 5 2 透视投影 6 参见 7 参考资料 8 外部連結应用 编辑任意线性变换都可以用矩阵表示为易于计算的一致形式 1 并且多个变换也可以很容易地通过矩阵的相乘连接在一起 线性变换不是唯一可以用矩阵表示的变换 Rn维的仿射变换与透视投影都可以用齐次坐标表示为RPn 1维 即n 1维的真实投影空间 的线性变换 因此 在三维计算机图形学中大量使用着4x4的矩阵变换 寻找变换矩阵 编辑如果已经有一个函数型的线性变换T x displaystyle T x nbsp 那么通过T对标准基每个向量进行简单变换 然后将结果插入矩阵的列中 这样很容易就可以确定变换矩阵A 即 A T e 1 T e 2 T e n displaystyle mathbf A begin pmatrix T vec e 1 amp T vec e 2 amp cdots amp T vec e n end pmatrix nbsp 例如 函数T x 5 x displaystyle T x 5x nbsp 是线性变换 通过上面的过程得到 假设n 2 T x 5 x 5 0 0 5 x displaystyle T vec x 5 vec x begin pmatrix 5 amp amp 0 0 amp amp 5 end pmatrix vec x nbsp 在二维图形中的应用示例 编辑最为常用的几何变换都是线性变换 这包括旋转 缩放 切变 反射以及正投影 在二维空间中 线性变换可以用2 2的变换矩阵表示 旋转 编辑 绕原点逆时针旋转 8 度角的变换公式是 x x cos 8 y sin 8 displaystyle x x cos theta y sin theta nbsp 与 y x sin 8 y cos 8 displaystyle y x sin theta y cos theta nbsp 用矩阵表示为 x y cos 8 sin 8 sin 8 cos 8 x y displaystyle begin pmatrix x y end pmatrix begin pmatrix cos theta amp sin theta sin theta amp cos theta end pmatrix begin pmatrix x y end pmatrix nbsp 缩放 编辑 缩放 反矩陣 公式为 x s x x displaystyle x s x cdot x nbsp 与 y s y y displaystyle y s y cdot y nbsp 用矩阵表示为 x y s x 0 0 s y x y displaystyle begin pmatrix x y end pmatrix begin pmatrix s x amp 0 0 amp s y end pmatrix begin pmatrix x y end pmatrix nbsp 推移 编辑 推移有两种可能的形式 平行于 x 轴的推移为 x x k y displaystyle x x ky nbsp 与 y y displaystyle y y nbsp 矩阵表示为 x y 1 k 0 1 x y displaystyle begin pmatrix x y end pmatrix begin pmatrix 1 amp k 0 amp 1 end pmatrix begin pmatrix x y end pmatrix nbsp 平行于 y 轴的推移为 x x displaystyle x x nbsp 与 y y k x displaystyle y y kx nbsp 矩阵表示为 x y 1 0 k 1 x y displaystyle begin pmatrix x y end pmatrix begin pmatrix 1 amp 0 k amp 1 end pmatrix begin pmatrix x y end pmatrix nbsp 反射 编辑 为了沿经过原点的直线反射向量 假设 ux uy 为直线方向的单位向量 变换矩阵为 x y 2 u x 2 1 2 u x u y 2 u x u y 2 u y 2 1 x y displaystyle begin pmatrix x y end pmatrix begin pmatrix 2u x 2 1 amp 2u x u y 2u x u y amp 2u y 2 1 end pmatrix begin pmatrix x y end pmatrix nbsp 不经过原点的直线的反射是仿射变换 而不是线性变换 若一座標 x y 沿直線 y tan 8 x displaystyle y tan theta cdot x nbsp 進行反射 則其影像 x y 可用以下公式求得 x y cos 2 8 sin 2 8 sin 2 8 cos 2 8 x y displaystyle begin pmatrix x y end pmatrix begin pmatrix cos 2 theta amp sin 2 theta sin 2 theta amp cos 2 theta end pmatrix begin pmatrix x y end pmatrix nbsp 正投影 编辑 为了将向量正投影到一条经过原点的直线 假设 ux uy 是直线方向的单位向量 变换矩阵为 x y u x 2 u x u y u x u y u y 2 x y displaystyle begin pmatrix x y end pmatrix begin pmatrix u x 2 amp u x u y u x u y amp u y 2 end pmatrix begin pmatrix x y end pmatrix nbsp 跟反射一样 正投影到一条不经过原点的直线的变换是仿射变换 而不是线性变换 平行投影也是线性变换 也可以用矩阵表示 但是透视投影不是线性变换 必须用齐次坐标表示 组合变换与逆变换 编辑用矩阵表示线性变换的一个主要动力就是可以很容易地进行组合变换以及逆变换 组合可以通过矩阵乘法来完成 如果A与B是两个线性变换 那么对向量x先进行A变换 然后进行B变换的过程为 B A x B A x displaystyle mathbf B mathbf A vec x mathbf BA vec x nbsp 换句话说 先A后B变换的组合等同于两个矩阵乘积的变换 需要注意的是先A后B表示为BA而不是AB 能够通过两个矩阵相乘将两个变换组合在一起这样的能力就使得可以通过逆矩阵进行变换的逆变换 A 1表示A的逆变换 变换矩阵并不都是可逆的 但通常都可以进行直观的解释 在上一节中 几乎所有的变换都是可逆的 只要s x displaystyle s x nbsp 与s y displaystyle s y nbsp 都不为零 那么缩放变换也是可逆的 另外 正投影永远是不可逆的 其它类型的变换 编辑仿射变换 编辑 为了表示仿射变换 需要使用齐次坐标 即用三维向量 x y 1 表示二维向量 对于高维来说也是如此 按照这种方法 就可以用矩阵乘法表示变换 x x t x displaystyle x x t x nbsp y y t y displaystyle y y t y nbsp 变为 x y 1 1 0 t x 0 1 t y 0 0 1 x y 1 displaystyle begin pmatrix x y 1 end pmatrix begin pmatrix 1 amp 0 amp t x 0 amp 1 amp t y 0 amp 0 amp 1 end pmatrix begin pmatrix x y 1 end pmatrix nbsp 在矩阵中增加一列与一行 除右下角的元素为1外其它部分填充为0 通过这种方法 所有的线性变换都可以转换为仿射变换 例如 上面的旋转矩阵变为 cos 8 sin 8 0 sin 8 cos 8 0 0 0 1 displaystyle begin pmatrix cos theta amp sin theta amp 0 sin theta amp cos theta amp 0 0 amp 0 amp 1 end pmatrix nbsp 通过这种方法 使用与前面一样的矩阵乘积可以将各种变换无缝地集成到一起 当使用仿射变换时 齐次坐标向量w从来不变 这样可以把它当作为1 但是 透视投影中并不是这样 透视投影 编辑 三维计算机图形学中另外一种重要的变换是透视投影 与平行投影沿着平行线将物体投影到图像平面上不同 透视投影按照从投影中心这一点发出的直线将物体投影到图像平面 这就意味着距离投影中心越远投影越小 距离越近投影越大 最简单的透视投影将投影中心作为坐标原点 z 1作为图像平面 这样投影变换为x x z displaystyle x x z nbsp y y z displaystyle y y z nbsp 用齐次坐标表示为 x c y c z c w c 1 0 0 0 0 1 0 0 0 0 1 0 0 0 1 0 x y z 1 displaystyle begin pmatrix x c y c z c w c end pmatrix begin pmatrix 1 amp 0 amp 0 amp 0 0 amp 1 amp 0 amp 0 0 amp 0 amp 1 amp 0 0 amp 0 amp 1 amp 0 end pmatrix begin pmatrix x y z 1 end pmatrix nbsp 这个乘法的计算结果是 x c y c z c w c displaystyle x c y c z c w c nbsp x y z z displaystyle x y z z nbsp 在进行乘法计算之后 通常齐次元素wc并不为1 所以为了映射回真实平面需要进行齐次除法 即每个元素都除以wc x y z x c w c y c w c z c w c displaystyle begin pmatrix x y z end pmatrix begin pmatrix x c w c y c w c z c w c end pmatrix nbsp 更加复杂的透视投影可以是与旋转 缩放 平移 切变等组合在一起对图像进行变换 参见 编辑三维投影参考资料 编辑 Gentle James E Matrix Transformations and Factorizations Matrix Algebra Theory Computations and Applications in Statistics Springer 2007 2014 10 18 ISBN 9780387708737 原始内容存档于2017 02 21 英语 外部連結 编辑线性变换求解器 idomaths com 2009 09 04 原始内容存档于2009 09 04 英语 取自 https zh wikipedia org w index php title 变换矩阵 amp oldid 77971257, 维基百科,wiki,书籍,书籍,图书馆,

文章

,阅读,下载,免费,免费下载,mp3,视频,mp4,3gp, jpg,jpeg,gif,png,图片,音乐,歌曲,电影,书籍,游戏,游戏。