特定方向上点到平面的距离

distance from point to plane in a particular direction

鉴于:

  1. 一个点(x1, y1, z1)
  2. 一个方向向量(a1, b1, c1)
  3. 一架飞机ax + by + cz + d = 0

如何找到沿该向量从点到平面的距离 D

谢谢

你不需要图书馆。你需要数学。
矢量将在这个位置撞击飞机

(x,y,z) = (x1+l*a1, y1+l*b1, z1+l*c1)

加上一个 L,这样

a * (x1 + a1*L) + b * (y1 + b1*L) + c * (z1 + c1*L) + d = 0

一些等效的更改

L * ( a1*a + b1*b + c1*c) +  (a*x1 + b*y1 + c*z1 + d) = 0
L * ( a1*a + b1*b + c1*c) = -(a*x1 + b*y1 + c*z1 + d)
L                         = -(a*x1 + b*y1 + c*z1 + d) / ( a1*a + b1*b + c1*c)

你可以这样计算 L(假设不除以 0)。
然后从 L 可以计算出 D,即点与平面和方向的交叉点之间的距离。
正如您自己所说的那样(比我脑子里的措辞更快更好),方向向量需要事先进行单位归一化才能使实际 L=D。