LifeTally
首页所有计算器

LifeTally

线段上的最近点与到线段的距离

你的有限线段上,最近点在哪里?给定点到它有多远?

输入线段端点 A、B 和点 P。计算最近点 Q、从 A 向 B 的位置,以及直线距离 P–Q。

你的线段与点

A、B、P 必须使用相同的垂直笛卡尔坐标轴、相同的比例尺和统一的坐标单位。分数请用小数输入,不要写 a/b。保持端点输入顺序。允许竖直、水平及退化为一个点的线段。

估算方法

设 d = B − A,u = P − A。端点不同时,w = d·d > 0,t = min(1, max(0, (u·d)/w))。最近点 Q = A + t d,距离为 √((Px − Qx)² + (Py − Qy)²)。t = 0 对应 A,t = 1 对应 B,内部位置满足 0 < t < 1。沿 A + t d 的距离平方是二次函数,无约束最小值在 (u·d)/w 处,因此把 t 限制在 [0,1] 就得到有限线段上的最小值。如果 A = B,则 Q = A,并约定取 t = 0。距离始终需要全部六个坐标;非退化线段的 t、Q 和位置分类也需要全部坐标。已知端点重合时,即使 P 无效,t = 0、Q 和退化状态仍然已知;输入错误继续显示,距离保持未知。先用已接受数值的精确十进制分数进行运算,再作最终舍入;不会复用舍入后的 t 或 Q。

d = B − A; u = P − A; w = d · d
w > 0: t = min(1, max(0, (u · d) ÷ w))
Q = A + t d; |P − Q| = √((Px − Qx)² + (Py − Qy)²)
A = B: Q = A; t = 0

仅适用于二维欧氏平面内的一个给定点和一条含两端点的闭合有限直线段。端点重合、点在线段上均有效;在线段上的点距离为零。不计算到无限直线、射线、折线、曲线、三维物体、地理位置或道路路线的距离。不提供图形、单位换算、测量验证、不确定度估计或实物适配及安全保证。精确比较针对已接受的数值,不使用接近零的容差,不能证明被测实物的性质。

CGAL:含端点的平面闭线段与端点重合 ↗
OpenStax:点积与向量投影 ↗

核对已填写的示例

自选示例:A = (−2, 1),B = (4, 1),P = (1, 5)。d = (6, 0),u = (3, 4),u·d = 18,d·d = 36。因此 t = 0.5,Q = (1, 1) 在线段内部,P–Q = 4 个坐标单位。这些是数学示例坐标,并非实测值或推荐尺寸。

已接受的输入值

端点 A:x 坐标
-2
端点 A:y 坐标
1
端点 B:x 坐标
4
端点 B:y 坐标
1
点 P:x 坐标
1
点 P:y 坐标
5

安排下一步

单独的算术运算可使用标准计算器。解释几何结果前,请检查端点顺序、预期坐标轴以及单位是否一致。

打开标准计算器 →