点到平面的距离,球与平面相交检测

求一个点到一个平面的距离?

接上篇 平面定义

上一篇中给出了两种定义平面的方程式

第一种

当给定的平面方程式为:n·p = d 时,求点到平面的距离

设想一个平面和一个不在平面上的点 q,在平面上存在一个点 q,它到 的距离最近,很显然从 pq 的向量垂直于平面。

pq 的距离为 a,如果 q 在平面的正面,a 为正,如果在平面的反面,a 为 负。

n 为单位向量,且是平面的法向量。

则 从 pq 的向量可以表示为 an

p 加 an 得到 点 q 的坐标

p + an = q

(p + an)·n = q·n

p·n + (ann = q·n

p·n + a(n·n) = q·n

d + a = q·n

a = q·n - d

到此 q 到平面的距离 a 得到求解。

p·n + a(n·n) = q·n  d + a = q·n 的推演如何得到?

因为平面方程式为  n·p = d 因为 n·p = p·n,所以可以使用 d 替换  n·p

因为 n 为平面法向量,且是单位向量,所以 (n·n) 结果为数值 1,则 a(n·n) = a

第二种

当给定的平面是平面上不共线的三个点 P1, P2, P3 时,求点到平面的距离

上图中点 q 到平面的距离

在平面上任取一点 p3,连接从点 p3 到 点 q 的向量,过 q 向平面做垂线与平面相交与P,则q、P、p3构成一个直角三角形,点 q 到点 P 的长度 a 即为点 q 到平面的距离。

a 等于 从点 p3 到 点 q 的向量 p3q 在法向量 n 上的投影长度也就是 p3q 点乘 结果

a = p3q·n

n = p1p2 叉乘 p2p3 

a = (p3q)·(p1p2 叉乘 p2p3)

两种不同的平面公式求解点到平面的距离都得到了答案

如何求 点 q 到平面的垂点 q 的坐标?

p + an = q

p = q - an

q 已知 法向量 n 已知,a 已求得

上面已经计算得到了点 q 到平面的距离,那么进一步思考得到球与平面的相交检测?

 球的定义为到点 q 距离小于等于R的点的集合

q 到平面的距离 a <= R, 球与平面相交

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值