1.缩放矩阵

几何图示

对应公式

x ′ = − x y ′ = y \begin{aligned} &x^{\prime}=-x \\ &y^{\prime}=y \end{aligned} ​x′=−xy′=y​

[ x ′ y ′ ] = [ s x 0 0 s y ] [ x y ] \left[\begin{array}{l} x^{\prime} \\ y^{\prime} \end{array}\right]=\left[\begin{array}{cc} s_{x} & 0 \\ 0 & s_{y} \end{array}\right]\left[\begin{array}{l} x \\ y \end{array}\right] [x′y′​]=[sx​0​0sy​​][xy​]

带入数据

[ x ′ y ′ ] = [ 0.5 0 0 1 ] [ x y ] \left[\begin{array}{l} x^{\prime} \\ y^{\prime} \end{array}\right]=\left[\begin{array}{cc} 0.5 & 0 \\ 0 & 1 \end{array}\right]\left[\begin{array}{l} x \\ y \end{array}\right] [x′y′​]=[0.50​01​][xy​]


2.反转矩阵

几何图示

对应公式

x ′ = − x y ′ = y \begin{aligned} &x^{\prime}=-x \\ &y^{\prime}=y \end{aligned} ​x′=−xy′=y​

[ x ′ y ′ ] = [ − 1 0 0 1 ] [ x y ] \left[\begin{array}{l} x^{\prime} \\ y^{\prime} \end{array}\right]=\left[\begin{array}{cc} -1 & 0 \\ 0 & 1 \end{array}\right]\left[\begin{array}{l} x \\ y \end{array}\right] [x′y′​]=[−10​01​][xy​]

3.切片(剪切)矩阵

几何图示

对应公式

[ x ′ y ′ ] = [ 1 a 0 1 ] [ x y ] \left[\begin{array}{l} x^{\prime} \\ y^{\prime} \end{array}\right]=\left[\begin{array}{ll} 1 & a \\ 0 & 1 \end{array}\right]\left[\begin{array}{l} x \\ y \end{array}\right] [x′y′​]=[10​a1​][xy​]

4.旋转矩阵

几何图示

对应公式

R θ = [ cos ⁡ θ − sin ⁡ θ sin ⁡ θ cos ⁡ θ ] \mathbf{R}_{\theta}=\left[\begin{array}{cc} \cos \theta & -\sin \theta \\ \sin \theta & \cos \theta \end{array}\right] Rθ​=[cosθsinθ​−sinθcosθ​]

推导:

  1. 取点 ( 1 , 0 ) → ( c o s θ , s i n θ ) (1,0)→(cosθ,sinθ) (1,0)→(cosθ,sinθ)

( x ′ y ′ ) = ( A B C D ) ( x y ) ( cos ⁡ θ sin ⁡ θ ) = ( A B C D ) ( 1 0 ) \begin{aligned} &\left(\begin{array}{l} x^{\prime} \\ y^{\prime} \end{array}\right)=\left(\begin{array}{l} A & B \\ C & D \end{array}\right)\left(\begin{array}{l} x \\ y \end{array}\right)\\ &\left(\begin{array}{c} \cos \theta \\ \sin \theta \end{array}\right)=\left(\begin{array}{ll} A & B \\ C & D \end{array}\right)\left(\begin{array}{l} 1 \\ 0 \end{array}\right) \end{aligned} ​(x′y′​)=(AC​BD​)(xy​)(cosθsinθ​)=(AC​BD​)(10​)​

得出 A = c o s θ , C = s i n θ A=cosθ,C=sinθ A=cosθ,C=sinθ

  1. 取点 ( 0 , 1 ) → ( − s i n θ , c o s θ ) (0,1)→(-sinθ,cosθ) (0,1)→(−sinθ,cosθ)
    ( − sin ⁡ θ cos ⁡ θ ) = ( A B C D ) ( 0 1 ) \begin{aligned} &\left(\begin{array}{c} -\sin \theta \\ \cos \theta \end{array}\right)=\left(\begin{array}{ll} A & B \\ C & D \end{array}\right)\left(\begin{array}{l} 0 \\ 1 \end{array}\right) \end{aligned} ​(−sinθcosθ​)=(AC​BD​)(01​)​

得出 B = − s i n θ , D = c o s θ B=-sinθ,D=cosθ B=−sinθ,D=cosθ

5.平移矩阵

几何图示

对应公式

( x ′ y ′ 1 ) = ( 1 0 t x 0 1 t y 0 0 1 ) ( x y 1 ) \left(\begin{array}{l} x^{\prime} \\ y^{\prime}\\ 1 \end{array}\right) =\left(\begin{array}{ccc} 1 & 0 & t_{x} \\ 0 & 1 & t_{y} \\ 0 & 0 & 1 \end{array}\right)\left(\begin{array}{l} x \\ y\\ 1 \end{array}\right) ⎝⎛​x′y′1​⎠⎞​=⎝⎛​100​010​tx​ty​1​⎠⎞​⎝⎛​xy1​⎠⎞​

在此,你发现它多了一维,这说明:如果我们要对一个二维矩阵进行平移,我们需要用三维矩阵去控制它。

也就意味着,用一个三维的矩阵,不止可以将其平移,而是可以对它进行任意操作

由此,引出了一个变换:仿射变换。

仿射变换

简单来说,仿射变换就是:线性变换”+“平移

线性变换有三个特点:

  1. 变换前是直线,变换后依然是直线;
  2. 直线比例保持不变
  3. 变换前是原点,变换后依然是原点

仿射变换有两个特点:

  1. 变换前是直线,变换后依然是直线。
  2. 直线比例保持不变。

可以发现,由于加入了平移,原点不变的特性消失了。


平移不是线性变换,而是仿射变换。

所有的仿射变换都可以用一个三维矩阵来表示。

  • Scale
    S ( s x , s y ) = ( s x 0 0 0 s y 0 0 0 1 ) \mathbf{S}\left(s_{x}, s_{y}\right)=\left(\begin{array}{ccc} s_{x} & 0 & 0 \\ 0 & s_{y} & 0 \\ 0 & 0 & 1 \end{array}\right) S(sx​,sy​)=⎝⎛​sx​00​0sy​0​001​⎠⎞​
  • Rotation
    R ( α ) = ( cos ⁡ α − sin ⁡ α 0 sin ⁡ α cos ⁡ α 0 0 0 1 ) \mathbf{R}(\alpha)=\left(\begin{array}{ccc} \cos \alpha & -\sin \alpha & 0 \\ \sin \alpha & \cos \alpha & 0 \\ 0 & 0 & 1 \end{array}\right) R(α)=⎝⎛​cosαsinα0​−sinαcosα0​001​⎠⎞​
  • Translation
    T ( t x , t y ) = ( 1 0 t x 0 1 t y 0 0 1 ) \mathbf{T}\left(t_{x}, t_{y}\right)=\left(\begin{array}{ccc} 1 & 0 & t_{x} \\ 0 & 1 & t_{y} \\ 0 & 0 & 1 \end{array}\right) T(tx​,ty​)=⎝⎛​100​010​tx​ty​1​⎠⎞​

然而,以上我们都讨论的是针对一张图片——2D图形的变换。当变为3D物体时,我们只需要加一个坐标 z z z,就可以表示3D物体的放射变换,当然,“操作”这个三维矩阵的矩阵,自然就是4维的。
( x ′ y ′ z ′ 1 ) = ( a b c t x d e f t y g h i t z 0 0 0 1 ) ⋅ ( x y z 1 ) \left(\begin{array}{l} x^{\prime} \\ y^{\prime} \\ z^{\prime} \\ 1 \end{array}\right)=\left(\begin{array}{lllc} a & b & c & t_{x} \\ d & e & f & t_{y} \\ g & h & i & t_{z} \\ 0 & 0 & 0 & 1 \end{array}\right) \cdot\left(\begin{array}{c} x \\ y \\ z \\ 1 \end{array}\right) ⎝⎜⎜⎛​x′y′z′1​⎠⎟⎟⎞​=⎝⎜⎜⎛​adg0​beh0​cfi0​tx​ty​tz​1​⎠⎟⎟⎞​⋅⎝⎜⎜⎛​xyz1​⎠⎟⎟⎞​

在此引申出了一个哲学问题,要操作一个 n n n维的“东西”,则需要操作者(观察者)至少处于第 n + 1 n+1 n+1维。例如:

  1. 一个点处于任何一个位置,它都是一个点,它并不具有任何能表示自己的值。
  2. 对于一条线,也可以理解为一个线段,这个点就有了一个坐标,也就是我们小学时学过的——横坐标(x坐标)。
  3. 对于一个平面,一条线就成了向量,离开线的点也可以被一个平面发现。
  4. 对于一个空间,一个平面也有了位置,两个不相交的平面可以通过空间坐标来知道彼此的位置。
  5. 下一个维度,我个人的理解为时间,但由于我也是三维生物,我无法做出比喻。

设想一下,是否有一个可以在时间轴上任意穿梭的“东西”,它能知道我们宇宙中的一切呢?无论是宇宙的过去,或是宇宙未来的模样,对于它来说只是重设时间值这么一个简单的操作?

[线性代数]矩阵变换在几何中的体现:缩放、翻转、切片、旋转、平移矩阵;放射变换相关推荐

  1. 线性代数:矩阵变换图形(二维平移缩放旋转)

    转载自: https://blog.csdn.net/yinhun2012/article/details/79544205 前面我们从理论上理解了图形学中图形的变换过程,具体可以理解为如果要对一个图 ...

  2. C++-矩阵运算-Eigen-几何矩阵变换-常见几何参数求解-平移-缩放-旋转-仿射变换-垂足-面积-周长-方向角-按目标点和距离移动当前点

    文章目录 1.矩阵运算规律 1.1.矩阵相乘结合律 1.2.矩阵相乘交换律 1.3.矩阵转置 1.4.矩阵的逆 2.仿射变换 2.1.平移变换 Translation 2.2.缩放变换 Scale 2 ...

  3. 【机器学习的数学基础】(二)线性代数(Linear Algebra)(中)

    文章目录 2 线性代数(Linear Algebra)(中) 2.4 向量空间 2.4.1 群 2.4.2 向量空间 2.4.3 向量子空间 2.5 线性独立 2.6 基和秩 2.6.1 生成集和基 ...

  4. 酒店中计算机信息应用的重要性,浅析计算机在酒店管理中所体现的应用价值

    浅析计算机在酒店管理中所体现的应用价值 (5页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 9.9 积分 浅析计算机在酒店管理中所体现的应用价值 1概述 ...

  5. 适配器在JavaScript中的体现

    适配器设计模式在JavaScript中非常有用,在处理跨浏览器兼容问题.整合多个第三方SDK的调用,都可以看到它的身影. 其实在日常开发中,很多时候会不经意间写出符合某种设计模式的代码,毕竟设计模式就 ...

  6. java面试题31:结构型模式中最体现扩展性的模式是()

    java面试题31:结构型模式中最体现扩展性的模式是() A:装饰模式 B:合成模式 C:桥接模式 D:适配器 蒙蔽树上蒙蔽果,蒙蔽树下你和我 结构型模式是描述如何将类对象结合在一起,形成一个更大的结 ...

  7. 中ridge_10种线性代数在数据科学中的强大应用(内附多种资源)

    原文选自 | Analytics Vidhya 作者 | Khyati Mahendru 本文转载自 TalkingData数据学堂 ,未经允许禁止转载 本文摘要 线性代数为各种各样的数据科学算法和应 ...

  8. 几何画板是哪方面的计算机应用,几何画板在几何中的奇妙应用

    原标题:几何画板在几何中的奇妙应用 高一数学学科论坛 几何画板在|几何中的 奇 妙 应 用 当今世界日益信息化,信息日益网络化,<几何画板>正是现代信息技术中改变学生学习方式,促进教师数学 ...

  9. 线性代数在计算机视觉的应用,10种线性代数在数据科学中的强大应用(内附多种资源)...

    本文摘要线性代数为各种各样的数据科学算法和应用提供支持 在这里,我会向您介绍通过线性代数帮助您成为更好的数据科学家的10种实际应用 我们已将这些应用程序分类到各个领域 - 基本机器学习,降维,自然语言 ...

最新文章

  1. 图像分类和目标检测技术有什么区别?
  2. 宁波网络推广介绍几点容易被优化人员忽略的图片优化技巧!
  3. Linux 主机被入侵后的处理案例
  4. Azure SQL 数据库引入了新的服务级别
  5. 年终福利 | 京东虚拟平台团队问答专场
  6. 【干货】百度十年产品经验总结:产品经理九步法
  7. Mysql8.0.12安装教程方法 Mysql8.0.12安装教程
  8. [蓝桥杯][基础练习VIP]分解质因数
  9. js实现替换指定字符后面的内容(包括指定字符)
  10. binarySearch与IndexOf的那些事儿~
  11. 莫比乌斯带catia建模_独家教程 | 循环曲面“莫比乌斯”,康石石教你Rhino“3步”快速打造...
  12. 【Day05】Html5 有哪些新特性?如何处理 Html5 新标签的浏览器兼容问题?如何区分 Html 和 Html5?
  13. cups源码下载 linux_正点原子Linux第七十章Linux WIFI驱动实验
  14. hexo需要先编辑好html文件吗,教你定制Hexo的landscape打造自己的主题_html/css_WEB-ITnose...
  15. HDU1213How Many Tables
  16. vue $slot基本用法
  17. 电脑今天关机,第二天重启 解决方案
  18. 复联4定档 4.24——十一年21部漫威电影,用数据为你梳理口碑、票房、主演最佳...
  19. 海尔计算机天越Y3的配置,海尔天越Y3S 拉近你与梦想的距离!
  20. Java HotSpot(TM) 64-Bit Server VM warning: Sharing is only supported for boot loader classes解决办法

热门文章

  1. arm linux 内核配置,嵌入式 Linux开发Kernel移植(二)——kernel内核配置和编译
  2. PCIEBPMCx4板卡
  3. 计算机开机后桌面放大,win10系统电脑重启后桌面图标变大的修复方法
  4. Java进阶之 如何自动生成代码
  5. 程序员军刀之 sox
  6. 我国邮政行业现状调查:邮政成本没有精准算法
  7. vs2005 tools office -excel
  8. 豆腐渣项目管理与FIDIC黄金品牌!(转)
  9. hostapd 创建5G热点
  10. 【02】中国县区以上行政区划经纬度坐标