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

问题描述 投票:-1回答:1

鉴于:

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

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

谢谢

math geometry linear-algebra
1个回答
2
投票

你不需要图书馆。你需要数学。 矢量将在此位置击中飞机

(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。

© www.soinside.com 2019 - 2024. All rights reserved.