[GIS算法] 2.4 线 相关的算法

版权声明:本文为博主原创文章,若有错误之处望大家批评指正!转载需附上原文链接,谢谢! https://blog.csdn.net/summer_dew/article/details/83982244

线相关的算法

总表

算法 说明 方法 判定 补充
判断两矢量相互之间的顺逆时针关系 矢量P=(x1,y1),Q=(x2,y2) P×Q=x1y2-x2y1 P×Q>0 => P在Q的顺时针方向
P×Q<0 => P在Q的逆时针方向
P×Q=0 => P与Q共线,但可能同向也可能反向
折线段的拐向判断 有公共端点的线段p0p1和p1p2 result=(p2-p0)×(p1-p0) result>0 => p0p1在p1点拐向右侧后得到p1p2
reslut<0 => p0p1在p1点拐向左侧后得到p1p2
reslut=0 => p0、p1、p2三点共线
这里写图片描述
点是否在线段上 点Q是否在线段P1P2上 条件1:(Q-P1)×(P2-P1)=0
条件2:Q在以P1、P2为对角顶点的矩形内
条件1 => 保证Q在P1P2上
条件2 => 保证Q不在P1P2的延长线或反向延长线上
这里写图片描述
判断两线段是否相交(算法一) 线段P1P2、线段Q1Q2是否相交 条件1:快速排斥试验
条件2:跨立试验
跳转 这里写图片描述
判断两线段是否相交(算法二) 线段AB、线段CD是否相交 公式法 跳转 这里写图片描述
求两条共线的线段的交点 这里写图片描述

猜你喜欢

转载自blog.csdn.net/summer_dew/article/details/83982244
今日推荐