From: http://www.cnblogs.com/CoolJie/archive/2011/07/12/2104282.html
在计算机图形学中,各种抽象空间是非常重要的,理清楚这些空间,对于计算机图形学的理解将会大有益处。
一. 标量集合(scalar aggregates):
标量集合中的任何两个标量都可以经过加法和乘法这两种运算得到另一个标量。如果这两种运算满足封闭性、结合律、交换律和对逆元素的要求,那么这些标量就构成了一个标量场。我们熟悉的标量有实数、复数和有理函数等。
二. 线性空间(向量空间Vector space):
它也许是最重要的数学空间。向量空间中包含了两种不同的实体---向量和标量。除了两个标量之间的运算外,向量空间中还定义了标量---向量乘法和向量---向量加法,前者由一个标量和一个向量得出另一个向量,后者由两个向量得出另一个向量
三. 额外结构
研究向量空间很自然涉及一些额外结构。额外结构如下:
一个实数或复数向量空间加上长度概念。就是范数称为赋范向量空间(normed linear space)。
在数学上,我们知道,一个集合(向量),通过一种映射关系(矩阵),可以得到另外一个几何(另外一个向量)。
那么向量的范数,就是表示这个原有集合的大小。而矩阵的范数,就是表示这个变化过程的大小的一个度量。
常用范数
![](https://i-blog.csdnimg.cn/blog_migrate/1a41c7b93b1ece8ed4bb6e81afd20b31.png)
![](https://i-blog.csdnimg.cn/blog_migrate/a1a784571a64a5ea928cbecfd71dc737.png)
1-范数( 为绝对值之和。 ):║x║1=│x 1 │+│x 2 │+…+│x n │
一个向量空间加上拓扑学符合运算的(加法及标量乘法是连续映射)称为拓扑向量空间(Topological space0。
一个向量空间加上双线性算子(定义为向量乘法)是个域代数。
仿射空间:
它是向量空间的扩展,除了标量和向量外,它还包含了另外一种对象---点。尽管在仿射空间中队两个点以及一个标量没有定义运算,但对一个向量和一个点定义了一种运算---向量-点加法,它的结果是一个点。也可以说有一种称为点---点减法的运算,这种运算由两个点得到一个向量。
或者可以这样理解:仿射空间是假设我们已经定义好了向量空间,然后定义一个点的集合,同时规定了点和向量之间的求和运算(加和的结果仍是搜索点),这个点集就是这个向量空间相伴的仿射空间。
从基本数学概念上来说, 一个坐标系对应了一个仿射空间 (Affine Space) , 当矢量从一个坐标系变换到另一个坐标系时要进行线性变换 (Linear Transformation). 对点来说, 要进行仿射变换 (Affine Transformation). 这就是我们利用同源坐标的理由. 它能在对矢量进行线性变换的同时对点进行仿射变换. 坐标变换的基本操作就是将变换矩阵乘以矢量或点.