计算几何之线段性质(一):判断两线段相交

本文介绍了计算几何中的线段相交问题,包括点在线段上的判断方法和两线段相交的判断算法,包括快速排斥实验和跨立实验。提供了具体的数学表达式和应用场景,如线段与直线相交、点在矩形内的判断。
摘要由CSDN通过智能技术生成

在研究线段相交之前,我们首先来看一下点定位中是如何判断点是否在线段上的:

设有点Q及线段P1P2,判断Q在线段P1P2上包括两条依据:

(1)(Q-P1)×(P2-P1)=0(这里×表示叉积);

(2)Q在以P1P2为对角线的矩形内。

前者保证了Q在直线P1P2上,后者保证了点Q不在线段P1P2的延长线或反向延长线上。

代码入下:

typedef struct node
{
    double x,y;
}Point;
bool on_segment(Point p1,Point p2,Point q)
{
    if((q.x-p1.x)*(p2.y-p1.y)==(p2.x-p1.x)*(1.y-p1.y)&&min(p1.x,p2.x)<=q.x&&q.x<=max(p1.x,p2.x)&&min(p1.y,p2.y)<=q
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值