镜像(反射)矩阵是n维空间中的沿n-1维平面的一种矩阵变换,常见的应用场景是在2维空间图像处理、3维空间物体场景变换。先直观看看镜像变换的效果:
直观的感受了镜像变换的效果之后,接下来我们看看这个变换的数学表达式是什么样的。首先n维度空间的镜像变换是基于某个n-1维度平面(对于2维度就是某条直线)来说的,线性代数的知识知道n维空间的n-1维平面存在法向量,假设是要做镜像平面的单位法向量,单位法向量||u||=1,定义镜像矩阵
。
1. Q是对称和标准正交的,
Q是对称的。
Q是标准正交的。如果对矩阵运算背后的原理不太熟悉,我们也可以将Q展开:
由Q的矩阵展开形式,很明显看到,所以Q是对称的。标准正交:
是Q的两列,由标准正交的定义,需要满足如下条件:
2.,这条性质反应了镜像的特点,镜像两次等于原空间。
上面是镜像矩阵的定义和它的一些性质和推导,那么我们再做一点深层次的思考:为什么镜像的表达会是一个矩阵变换,如果我做旋转是不是也是一个矩阵变换?首先,问题2的答案:YES,2维空间的旋转的变换矩阵是:。
对于问题1,矩阵变换的本质可以理解成坐标系的变换,对于镜像和旋转我们都是对原坐标系中的向量(坐标系中的点可以表示成原点指向该点的向量)用新的坐标系中的基进行了表示。比如二维直角坐标系x0y的坐标基向量是(1,0)和(0,1),如果用矩阵表示:,基向量就是矩阵的列向量,(1,1)点这个坐标系下的坐标(x,y)由方程组
求得(x,y)=(1,1)因为在原坐标系下,假设我们对(1,1)点做沿x轴做镜像,这里的镜像很简单,x轴和原坐标系相同,y轴与原坐标系反号,所以镜像之后新的坐标系基向量是(1,0)和(0,-1)(如果你通过上面的镜像公式可以求得同样的答案,u=(0,1)),新的坐标系的矩阵表示
,原坐标系下(1,1)点在新坐标系下的坐标有方程组
求得(x,y)=(1,-1),和我们直观认知一样:
最后我们说说2维度空间和3维空间的镜像矩阵的表达式,首先是2维空间,对于2-D空间的某个条直线做镜像,假设该直线的单位法向量u(x,y),由计算得到2-D空间的镜像矩阵:
对于3-D空间的某平面做镜像:
镜像矩阵的另一种表示形式:Q'=2P-I, 其中P是投影矩阵,这个表达式和等价。我们证明一下2纬空间沿着某条线做镜像的情况下这两个矩阵的等价性。
证明:
假设a是P投影方向上的单位向量,u是垂直与投影方向上的单位向量,那么,
。
假设a与x轴的夹角为,那么u与x轴的夹角为
,那么:
带入Q’-Q中得到:
所以Q'-Q=0,所以Q'-Q得证。