gpt4 book ai didi

java - 计算一个点在直线的哪一侧

转载 作者:塔克拉玛干 更新时间:2023-11-01 22:10:36 25 4
gpt4 key购买 nike

我需要弄清楚如何计算一个点位于直线的哪一侧。我正在寻找一种非常快速且简单的碰撞算法,因为我只需要知道对象在哪一侧即可定义碰撞状态。

就像:

if(x > line.x)
return EnumSide.LEFT;

但是这条线需要是对角的。有什么想法吗?

最佳答案

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

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

如果值 > 0,则 p2 在线的左侧。
如果 value = 0,则 p2 在同一行。
如果值 < 0,则 p2 在线的右侧。

这里有一张图来解释这一切:

Which side of line is the point?

关于java - 计算一个点在直线的哪一侧,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22668659/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com