百科问答小站 logo
百科问答小站 font logo



如何通俗地讲解「仿射变换」这个概念? 第1页

  

user avatar   matongxue 网友的相关建议: 
      

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

先看什么是线性变换?

1 线性变换

线性变换从几何直观有三个要点:

  • 变换前是直线的,变换后依然是直线
  • 直线比例保持不变
  • 变换前是原点的,变换后依然是原点

比如说旋转:


比如说推移:



这两个叠加也是线性变换:


自己动手试一下(观察下是否符合之前的三个要求):


此处有互动内容,点击此处前往操作。

1.1 代数

简单讲一下旋转是怎么实现的,可以让我们进一步了解代数是怎么描述线性变换的。




你可以手动操作下,会发现旋转矩阵在不断变化(为了方便观察旋转,我标记出一个顶点):


此处有互动内容,点击此处前往操作。

总结下来,线性变换是通过矩阵乘法来实现的。

2 仿射变换

仿射变换从几何直观只有两个要点:

  • 变换前是直线的,变换后依然是直线
  • 直线比例保持不变

少了原点保持不变这一条。

比如平移:

因此,平移不再是线性变化了,而是仿射变化。

2.1 代数

我们来看下仿射变换是怎么用代数来表示的。

上一节我们说了,线性变换是通过矩阵乘法来实现的,仿射变换不能光通过矩阵乘法来实现,还得有加法。




因为我们表示仿射变换为:

2.2 通过线性变换来完成仿射变换

这是我觉得非常优美的一个地方:

什么意思?继续举例子:



这样我就可以在三维空间下通过 这个线性变换来操作 平面上的二维正方形,完成仿射变换:

自己动手操作一下:


此处有互动内容,点击此处前往操作。

我们平移到需要的位置的时候:


如果还有没有清楚的地方,可以结合之前的描述,看一下维基百科“仿射变换”词条里的一个gif动图,非常生动的表明了这一过程:




  

相关话题

  请问a^2+2*b^2+3*c^2=20*d^2的所有整数解是什么? 
  怎么用一句话证明 det(M1 M2)=det(M1)det(M2)? 
  诗歌《冰雹之路》,大家觉得如何? 
  如何证明 ln^2(x+1)>ln(x)·ln(x+2)? 
  高维情况有没有叉乘运算?怎么计算? 
  如何用数学方法计算灯泡的体积? 
  虚数在物理中有什么应用吗? 
  高斯到底有多厉害? 
  关于相对论度规的约定未来会统一吗? 
  统计学中「矩」这个概念是怎么引入的?它为什么被称为矩?它与物理意义上的矩有什么相同与不同? 

前一个讨论
有哪些一看就是满是遗憾的文案句子?
下一个讨论
如何理解矩阵特征值?





© 2024-11-21 - tinynew.org. All Rights Reserved.
© 2024-11-21 - tinynew.org. 保留所有权利