空间变换在计算机图形学,图像及视频处理,密码学,通信编码中有着广泛的应用。本文归纳几种常见的变换,进一步可参阅
高等代数与解析几何方面的教材。
在实际应用中,很多时候需要把一个点
(
坐标
)
从一个空间映射到另一个空间。例如在游戏设计中存在多个坐标系,他们之间的点的映射关系就得通过变换。简单来说,变换就是在空间中到自身
(
即定义域和值域相同
)
的映射,通过矩阵相乘来完成。
先来重温一下高等代数的内容,这里推荐孟岩
(myan)
的文章
----
理解矩阵。下面列举几个概念:
空间
(space)
:是对象的集合。这里的对象可以是几何中的点
(
本文所指
)
,可以是一个多项式,也可以是其他抽象物体。空间中的对象通过选取基向量和坐标,以向量的形式表示。狂一点说,向量能表示客观事物的抽象,现在终于明白
Matlab(
一个矩阵运算软件
)
为何能应用于几乎所有的工程领域。
向量
(vector)
:
n
个有序的数组
(a1,a2,a3……)
称为
N
维向量。
基
(basis)
:一组线性无关的向量集合。线性空间中每一个向量可由基向量唯一线性表示。
域
(field)
:讨论空间的时候,必须规定向量元素中数的范围。初等代数中说的定义域,值域便是一例。例如图像中的象素位置域
F
则为自然数集。
映射
(mapping)
:设
V
和
W
都是域
F
的空间。映射则是按某个法则
f
,使得
V
中的元素在
W
中找到唯一对应元素,记做
f: V---> W,
元素
a-->b, b
称为
a
的象,
a
称为
b
的原像。
变换
(transform)
:空间
V
到自身的映射称为变换,变换通过矩阵来完成。例如一个平面空间的点,经过变换后,仍落在平面空间上
(
坐标改变
)
。
函数
(function)
:空间
V
到域
F
的映射为函数。例如取图像灰度函数
g(x,y)
,是从平面空间
(2
维整数空间
)
到灰度值(
0
~
255
整数域)的一个函数。多项式求值也是一个函数,他把多项式空间映射到域
F
的一个数值。
下面举个例子。在数字通信中,一个经典的信道编码是线性码,通过添加几个冗余码字,实现检错与纠错。
在一个
4
维二元域向量
(a1~a4)
的右边添加
3
个分量
(c1~c3)
,其中
c1 = a1 + a2 + a3
c2 = a1 + a2 + a4
c3 = a1 + a3 + a4
这样就给出二元域
(0
和
1)
上向量空间
Z4
到
Z7
的一个映射,这个映射称为编码,每一个象称为码,码中的元素称为码字,前
4
个分量为信息位,后
3
个称为校验位。用矩阵实现映射
[c1, c2, c3]’ = [ 1 1 1 0 ] [a1, a2 , a3, a4] '
[ 1 1 0 1 ]
[ 1 0 1 1 ]
我们称这个码叫做
(7,4)
线性码。再讲下去有点离题,可参见数字通信教材。
下篇将着重介绍几种图像处理中常见映射:仿射,双线性,透视。
转载请注明原文地址: https://ibbs.8miu.com/read-30467.html