n維鏡像變換公式,就是將空間某個點 X 0 X_0 X0?,以某個平面對對稱平面,平面法向量維 v v v,該平面過空間原點。計算 X 0 X_0 X0?的鏡像。假設鏡像為 X 1 X_1 X1?。
鏡像需要滿足下面兩個條件
(1) X 0 X 1 X_0X_1 X0?X1?需要與 v v v平行
(2) X 0 X_0 X0?與平面的距離等于 X 1 X_1 X1?與平面的距離,并且方向相反
X 1 = X 0 + k ? v X 0 ? v + X 1 ? v = 0 X_1=X_0+k*v \\ X_0\cdot v+X_1 \cdot v = 0 X1?=X0?+k?vX0??v+X1??v=0
根據這兩個條件
X 0 T v + ( X 0 + k v ) T v = 0 2 X 0 T v + k v T v = 0 k = ? 2 X 0 T v v T v {X_0}^Tv+\left( X_0+kv \right) ^Tv=0 \\ 2{X_0}^Tv+kv^Tv=0 \\ k=-2\frac{{X_0}^Tv}{v^Tv} X0?Tv+(X0?+kv)Tv=02X0?Tv+kvTv=0k=?2vTvX0?Tv?
X 1 X_1 X1?的表達式為:
X 1 = X 0 ? 2 ( X 0 T v v T v ) v = X 0 ? 2 v ( X 0 T v v T v ) T = X 0 ? 2 v v T v T v X 0 = ( I ? 2 v v T v T v ) X 0 X_1=X_0-2\left( \frac{{X_0}^Tv}{v^Tv} \right) v \\ =X_0-2v\left( \frac{{X_0}^Tv}{v^Tv} \right) ^T \\ =X_0-2\frac{vv^T}{v^Tv}X_0 \\ =\left( I-2\frac{vv^T}{v^Tv} \right) X_0 X1?=X0??2(vTvX0?Tv?)v=X0??2v(vTvX0?Tv?)T=X0??2vTvvvT?X0?=(I?2vTvvvT?)X0?
這其實就是householder transform:
H = I ? 2 v v T v T v H=I-2\frac{vv^T}{v^Tv} H=I?2vTvvvT?