如何判断一个点是在一条线的右边还是左边

我有几点要点。我想将它们分为2个不同的集合。为此,我选择两个点( ab

)并在它们之间画一条假想线。现在,我要使一组中的该行剩余的点和另一组中的该行右边的点。

如何确定给定点 z 是在左侧还是右侧?我试图计算 azb 之间的角度-小于180度的角度在右侧,大于180度的左侧-

但是由于ArcCos的定义,计算出的角度始终小于180°。是否存在用于计算大于180°的角度的公式(或用于选择右侧或左侧的任何其他公式)?

回答:

使用vector的行列式符号(AB,AM),其中M(X,Y)查询点为:

position = sign((Bx - Ax) * (Y - Ay) - (By - Ay) * (X - Ax))

0在线上,+1在一侧,-1在另一侧。

以上是 如何判断一个点是在一条线的右边还是左边 的全部内容, 来源链接: utcz.com/qa/435236.html

回到顶部