这里讨论交叉的情况,交叉不是相交。
本文完全参考自:https://www.cnblogs.com/tuyang1129/p/9390376.html 若有得罪之处请多多包涵,此处仅为知识笔记
向量叉乘(行列式计算):向量a(x1,y1),向量b(x2,y2)的叉乘结果是:x1*y2-x2*y1
如果结果为正 说明a在b的顺时针方向。反之..反之..
假设有两条线段AB,CD,若AB,CD相交,我们可以确定:
1.线段AB与CD所在的直线相交,即点A和点B分别在直线CD的两边;
2.线段CD与AB所在的直线相交,即点C和点D分别在直线AB的两边;
上面两个条件同时满足是两线段相交的充要条件,所以我们只需要证明点A和点B分别在直线CD的两边,点C和点D分别在直线AB的两边,这样便可以证明线段AB与CD相交了。
如果线段CD的两个端点C和D,与另一条线段的一个端点(A或B,只能是其中一个)连成的向量,与向量AB做叉乘,若结果异号,表示C和D分别在直线AB的两边,若结果同号,则表示CD两点都在AB的一边,则肯定不相交。
当然,不能只证明C,D在直线AB的两边,还要用相同的方法证明A,B在直线CD的两边,两者同时满足才是线段相交的充要条件。
原文:https://www.cnblogs.com/qiandaohu27/p/12604790.html