判断线段相交思想

判断线段相交思想

  (2010-12-07 22:15:30)
标签: 

判断线段相交

 

编程

 

杂谈

分类: ACM
这个问题是在我那个比赛代码中有同学提出来的,不知道是哪位同学。。。。。也没自报家名。。。。。
现在进入正题:
比如两个线段,AB,CD,坐标分别如下图所示:
判断线段相交思想
在这里介绍一个判断线段相交的方法,使用差积,就是向量的差积,大家都知道,向量差乘的结果仍然是个向量,其方向与差乘的两个向量的前后顺序有关,比如我计算AB(为(x1b-x1a,y1b-y1a))向量与AC(为(x2a-x1a,y2a-y1a))向量的差积,AB向量与AD(为(x2b-x1a,y2b-y1a))向量的差积,计算的这两个结果其向量(记为a向量和b向量)的方向必定相反,且都垂直ABCD所在的平面,那么a向量与b向量的点积一定小于0(不考虑点在线段上的情形)。
另AB向量为(x1,y1)
AC向量为(x2,y2)
AD向量为(x3,y3)
则:
(x1*y2-x2*y1)*(x1*y3-x3*y1)<0
此时,C,D两点必定在AB的延长线的两侧。
同理判断A,B两点在CD的延长线的两侧即可。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值