1. 法线
一个平面或超平面由一个方程(不是一组方程)定义:
{ x ∣ a T x = b } \{x\mid a^Tx=b\} {x∣aTx=b}
其中 a a a 是一个非零的列向量,而 b b b 是一个实数。那么它的法线(垂线)向量是 a a a。
例如,超平面
2 x + 3 y + 4 z = 5 2x+3y+4z=5 2x+3y+4z=5
它法线向量是: ( 2 , 3 , 4 ) (2, 3, 4) (2,3,4)。它的一个法线是:
x − 1 2 = y − 1 3 = z − 1 4 \frac{x-1}{2}=\frac{y-1}{3}=\frac{z-1}{4} 2x−1=3y−1=4z−1
画图表示:
画图的 matlab 代码:
function DrawHyperPlane
fmesh(@(x,y)1/4*(9-2*x-3*y));
hold on;plot3([-1,3], [-2, 4], [-3, 5]);title('Hyper plane: 2x+3y+4z=9')
str = '$$\frac{x-1}{2}=\frac{y-1}{3}=\frac{z-1}{4}$$';
text(-0.7, 9.8, str, 'Interpreter','latex');
annotation('arrow','X',[0.4,0.5],'Y',[0.6,0.6]end
2. 平行超平面的距离
设一个超平面为 a T x = b 1 a^Tx=b_1 aTx=b1,另一个超平面为 a T x = b 2 a^Tx=b_2 aTx=b2,求两个超平面的距离。
解: 超平面的法线向量为 a a a,经过第一个超平面上的点 x 1 x_1 x1 的法线为: x = x 1 + t a x=x_1+ta x=x1+ta, ( t ∈ R ) (t\in R) (t∈R)。则该法线与第二个超平面的交点满足:
a T ( x 1 + t a ) = b 2 a^T(x_1+ta)=b_2 aT(x1+ta)=b2
因此 t = ( b 2 − a T x 1 ) / a T a t=(b_2-a^Tx_1)/a^Ta t=(b2−aTx1)/aTa, 因此
x 2 = x 1 + ( b 2 − a T x 1 ) a a T a = x 1 + ( b 2 − b 1 ) a a T a x_2=x_1+\frac{(b_2-a^Tx_1)a}{a^Ta}=x_1+\frac{(b_2-b_1)a}{a^Ta} x2=x1+aTa(b2−aTx1)a=x1+aTa(b2−b1)a
连个超平面的距离即为 x 1 x_1 x1 与 x 2 x_2 x2 的距离:
∥ x 2 − x 1 ∥ = ∥ ( b 2 − b 1 ) a a T a ∥ = ∣ b 2 − b 1 ∣ ∥ a ∥ \|x_2-x_1\|=\|\frac{(b_2-b_1)a}{a^Ta}\|=\frac{|b_2-b_1|}{\|a\|} ∥x2−x1∥=∥aTa(b2−b1)a∥=∥a∥∣b2−b1∣
如下图所示: