0

我正在尝试提出一个函数,该函数采用两个点来形成一条线、一个参考点和一个点,如果该点位于所形成的线上,或者是

已知在线的外侧部分的点,以及需要确定它是在由所形成的线划分的一半区域的外侧还是内侧的点。在这种情况下,上线算作外线。

这与这个问题类似,但期望的一方可能有一个正或负的叉积,因此需要一种稍微不同的方法。我已经尝试过几次让它与交叉产品一起工作,此时我只是在寻找可以肯定工作的东西。

编辑:内部/外部只是由于问题的性质而使用,似乎比“a 面”和“b 面”或“左侧”和“右侧”更好。在这种情况下,“内部”点将被忽略,而“外部”点将保留。

这是一个使用线两侧的示例:

在此处输入图像描述

虽然它们是正方形,但每个都代表一个“点”。红色方块是组成这条线的两个。然后有一个绿色和一个蓝色点。绿点内为蓝点,蓝点内为外点。蓝色圆圈代表被认为是外部的点。蓝色圆圈的点被认为是相对于蓝色点的外部点,而绿色圆圈的点被认为是绿色点的外部点。

4

1 回答 1

0

You can still use cross products. If A and B are the points defining the line, R is your reference point, and P is your test point, then form the two cross products ABxAR and ABxAP. The dot product of these two vectors will be positive if the points lie on the same side of the line and negative if they do not.

于 2012-12-05T13:57:53.343 回答