JS判断点是否在线段上
最近在开发gis系统,需要用到在线段上添加点的功能,线段是由很多点连接起来的,所以就要判断点在那一段线段里面,然后插入点。
点是否在线段上可以转换为三点是否共线的问题:
三点是否共线可以通过判断斜率来判断:
设有 p1,p2,q三点,判断三点是否共线:
公式:
k1 = (p2.y - p1.y)/(p2.x - p1.x)
k2 = (q.y - p1.y)/(q.x - p1.x)
如果k1 === k2就表示三点共线
但是在计算机中,点的计算是浮点型,需要设定一个阈值
这里阈值设置为0.1,可以根据实际情况进行设置
于是 (k2 - k1 - 0.1) <= EPSILON 时显然成立
JS代码:
test
结果:

本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
