计算一条线在哪一侧

bit*_*AKE 3 java line collision

我需要弄清楚如何计算一条线的哪一侧.我正在寻找一种非常快速和简单的碰撞算法,因为我只需要知道对象在哪一侧定义碰撞状态.

就像:

if(x > line.x)
    return EnumSide.LEFT;
Run Code Online (Sandbox Code Playgroud)

但该线需要对角线.有任何想法吗?

Ama*_*tri 9

给定从点p0(x0,y0)到p1(x1,y1)的有向线,您可以使用以下条件来确定点p2(x2,y2)是否位于该行左侧,或右侧,或者在同一行:

value =(x1 - x0)(y2 - y0) - (x2 - x0)(y1 - y0)

如果值> 0,则p2位于该行的左侧.
如果value = 0,则p2在同一行.
如果值<0,则p2位于该行的右侧.

这是一个解释一切的数字:

线的哪一边是重点?