总结自:http://blog.csdn.net/myan/article/details/647511
1、什么是空间?
空间有很多种。大致都是“存在一个集合,在这个集合上定义某某概念,然后满足某些性质”,就可以被称为空间。
我们生活的(按照牛顿的绝对时空观)的三维空间,从数学上说,这是一个三维的欧几里德空间。
先分析一下这个三维空间的特点有:1. 由很多(实际上是无穷多个)位置点组成;2. 这些点之间存在相对的关系;3. 可以在空间中定义长度、角度;4. 这个空间可以容纳运动,这里我们所说的运动是从一个点到另一个点的移动(变换),而不是微积分意义上的“连续”性的运动,
上面的这些性质中,只有第4条是空间的本质,也就是说,容纳运动是空间的本质特征。可以把我们关于三维空间的认识扩展到其他的空间。
事实上,不管是什么空间,都必须容纳和支持在其中发生的符合规则的运动(变换)。你会发现,在某种空间中往往会存在一种相对应的变换,比如拓扑空间中有拓扑变换,线性空间中有线性变换,仿射空间中有仿射变换,其实这些变换都只不过是对应空间中允许的运动形式而已。
“空间”是容纳运动的一个对象集合,而变换则规定了对应空间的运动。
2、什么是线性空间?
(1)线性空间是什么样的对象的集合?或者说,线性空间中的对象有什么共同点吗?
线性空间中的任何一个对象,通过选取基和坐标的办法,都可以表达为向量的形式。
向量是很厉害的,只要你找到合适的基,用向量可以表示线性空间里任何一个对象。这里头大有文章,因为向量表面上只是一列数,但是其实由于它的有序性,所以除了这些数本身携带的信息之外,还可以在每个数的对应位置上携带信息。
为什么在程序设计中数组最简单,却又威力无穷呢?根本原因就在于此。
(2)线性空间中的运动如何表述的?也就是,线性变换是如何表示的?
很有意思,在线性空间中,当你选定一组基之后,不仅可以用一个向量来描述空间中的任何一个对象,而且可以用矩阵来描述该空间中的任何一个运动(变换)。而使某个对象发生对应运动的方法,就是用代表那个运动的矩阵,乘以代表那个对象的向量。
(3)简而言之,在线性空间中选定基之后,向量刻画对象,矩阵刻画对象的运动,用矩阵与向量的乘法施加运动。
是的,矩阵的本质是运动的描述。
(4)回头反思:
运动”的概念不是微积分中的连续性的运动,而是瞬间发生的变化。这样的“运动”,或者说“跃迁”,是违反我们日常的经验的。不过量子(例如电子)在不同的能量级轨道上跳跃,就是瞬间发生的,具有这样一种跃迁行为。所以说,自然界中并不是没有这种运动现象,只不过宏观上我们观察不到。但是不管怎么说,“运动”这个词用在这里,还是容易产生歧义的,说得更确切些,应该是“跃迁”。但这样又太物理了,因此考虑另一个词:变换。
所谓变换,其实就是空间里从一个点(元素/对象)到另一个点(元素/对象)的跃迁。
(5)总结:
“矩阵是线性空间里的变换的描述。”
3、什么是线性变换?
套用书本上的定义:
线性变换的定义是很简单的,设有一种变换T,使得对于线性空间V中间任何两个不相同的对象x和y,以及任意实数a和b,有:
T(ax + by) = aT(x) + bT(y),
那么就称T为线性变换。
基:看成是线性空间里的坐标系。
在一个线性空间中,只要我们选定一组基,那么对于任何一个线性变换,都能够用一个确定的矩阵来加以描述。
4、什么是相似矩阵?
若矩阵A与B是同一个线性变换的两个不同的描述(即在不同的基下,有不同的坐标系,则同一个线性变换可能对应不同的描述),则一定能找到一个非奇异矩阵P,使得A、B之间满足这样的关系:
A = P-1BP, 即A与B相似。
所谓相似矩阵,就是同一个线性变换的不同的描述矩阵。
矩阵P,其实就是A矩阵所基于的基与B矩阵所基于的基这两组基之间的一个变换关系。
计算机图形学中的矩阵
计算机图形学里应用的图形变换,实际上是在仿射空间而不是向量空间中进行的。想想看,在向量空间里相一个向量平行移动以后仍是相同的那个向量,而现实世界等长的两个平行线段当然不能被认为同一个东西,所以计算机图形学的生存空间实际上是仿射空间。而仿射变换的矩阵表示根本就是4 x 4的。