计算点到线段的距离

作者:追风剑情 发布于:2022-8-15 10:17 分类:Algorithms

111111.png

点P在向量AB上的投影为点Q,如果Q落在向量AB上,则PQ的长度即为点P到线段AB的距离。如果点Q落在向量AB之外,则点P到线段最近端的距离则为点P到线段AB的距离。

APAB=|AP||AB|cosθ=|AP||AB||AQ||AP|=|AQ||AB|
|AQ|=APAB|AB|
AQ=|AQ|AB|AB|
PQ=AQAP

(1) 当点Q落在向量AB上时

|PQ|即为点P到线段AB的距离。

(2) 当点Q落在线段AB的延长线上时

如果|AQ|>|AB|,则说明点Q落在AB的延长线上。点P到线段AB的距离为|PB|
如果|AQ|<0(APAB),则说明点Q落在BA的延长线上。点P到线段AB的距离为|PA|

也可以通过向量点乘判断
如果ABAP<0,则点Q落在BA的延长线上。
如果ABAP=0,则点Q与点A重合。
如果BABP<0,则点Q落在AB的延长线上。
如果BABP=0,则点Q与点B重合

标签: Algorithms

Powered by emlog  蜀ICP备18021003号-1   sitemap

川公网安备 51019002001593号