本文将讨论任意点v相对于某个平面镜像变换后的点v'的推导过程。
首先见下图:
图画的不好,大家将就看哈^-^!
图中的v代表将要变换的点、v'是v相对于平面镜像变换后的点、n是平面的法向量,在讨论中,我们始终假设n为单位向量、k是自v到该平面的最短有向距离、q是平面上距离点v最近的点、d是原点到平面的最短有向距离。
根据向量加法的几何意义,我们知道
同样的,我们可以知道。然后,把上面求出的q值代入该公式,我们得到
那么现在,我们就面临这样的问题,k怎么求呢?
首先,我们在图中创建个直角三角形,如图:
此时,我们可以发现。同时
,为什么是-d呢,因为原点位于平面的负方向,所以d是小于0的,而求b的长度,要取d的长度,即-d。此时,合并2个公式,我们就求得了
。此时,把k的值代入上述公式,我们得到了
如此,我们便得到了v'与v的关系表达式,展开看下会更明显:
现在,把它写成矩阵形式,我们便得到了相对于任意平面的镜像变换矩阵:
以下为详细的推导出矩阵形式(add 草原Song)