非规范相交的集中情况
--它们没有被判定为相交是因为它们在叉乘过程中,都至少有一次叉乘为0.
--但是叉乘为0并不一定就是非规范相交。因为叉乘结果为0表示是某个点在某向量所在的直线上。如下情况也可能使叉积结果为0,尽管它们并不是规范相交或者规范相交。
非规范相交的判定的思路
--某个端点P在另外一条线段P1P2所在直线上
--且该端点P在线段P1P2上
--即min(P1.x, P2.x) ≤P.x ≤max(P1.x, P2.x)且min(p1.y,p2.y)≤P.y ≤max(p1.y,p2.y)
判断顶点在线段上的另外一种方法
--可以用点乘
判断顶点在线段上的另外一种方法
--假设已经知道点P在P1P2所在的直线上
--则判断PP1和PP2的点积结果的符号
--若PP1•PP2<0,则P在P1P2内部
--若PP1•PP2>0,则P在P1P2外部
--若PP1•PP2=0,则P在P1或P2重合