已知
平面描述: 平面的法向
V
P
(
x
,
y
,
z
)
V_{P}(x,y,z)
VP(x,y,z), 平面上的一个点
P
P
(
x
,
y
,
z
)
P_{P}(x,y,z)
PP(x,y,z)。
直线描述: 直线的方向
V
L
(
x
,
y
,
z
)
V_{L}(x,y,z)
VL(x,y,z), 直线上的一个点
P
L
(
x
,
y
,
z
)
P_{L}(x,y,z)
PL(x,y,z)。
如图所示
公式推导
下文中的
⋅
\centerdot
⋅ 代表点乘
P
X
P_{X}
PX 一定在直线上所以
P
X
=
P
L
+
k
∗
V
L
P_{X}=P_{L}+k*V_{L}
PX=PL+k∗VL
P
X
P_{X}
PX 一定在平面上所以 (
P
X
−
P
P
)
⋅
V
P
=
0
P_{X}-P_{P})\centerdot V_{P}=0
PX−PP)⋅VP=0
联立可得
(
k
∗
V
L
+
P
L
−
P
P
)
⋅
V
P
=
0
(k*V_{L}+P_{L}-P_{P})\centerdot V_{P}=0
(k∗VL+PL−PP)⋅VP=0
也就是
k
∗
V
L
⋅
V
P
=
(
P
P
−
P
L
)
⋅
V
P
k*V_{L}\centerdot V_{P}=(P_{P}-P_{L})\centerdot V_{P}
k∗VL⋅VP=(PP−PL)⋅VP
然后就可以求出k,从而得到 PX
如果
V
L
⋅
V
P
=
0
V_{L}\centerdot V_{P}=0
VL⋅VP=0无解,代表直线垂直于法向量(线与面平行)。
最后一个等式
最后一个等式
k
∗
V
L
⋅
V
P
=
(
P
P
−
P
L
)
⋅
V
P
k*V_{L}\centerdot V_{P}=(P_{P}-P_{L})\centerdot V_{P}
k∗VL⋅VP=(PP−PL)⋅VP
可以在几何上进行解释
k
∗
V
L
k*V_{L}
k∗VL代表了向量
P
X
−
P
L
P_{X}-P_{L}
PX−PL
也就是说向量
P
X
−
P
L
P_{X}-P_{L}
PX−PL和向量
P
P
−
P
L
P_{P}-P_{L}
PP−PL在平面法向量上的投影相等
如果能一眼抓住这个规律也可以直接写出方程。