确定一个点是否在一个角度内

时间:2016-06-15 10:24:41

标签: java math

所以我试图计算一个点是否在一个角度内。在研究时,我遇到了许多我不熟悉的术语。基本上从点(A)开始,从点(A)突出120°角。我想测试次要点(B)是否在角度内。所有已知的是角度的程度和角度面对的程度以及两个点的X和Y值。这一切都将在Java中完成,因此感谢任何和所有帮助!

为了更好地解释它:

有一个点有两个向量从所述点突出。已知的角度是由两个向量的突出所产生的角度。

1 个答案:

答案 0 :(得分:2)

首先,没有为两个点定义一个角度 - 仅限两行。

  1. 定义一条属于 2D空间的行。对于一条线,你需要一个点和一个方向。
  2. 计算线条的法线向量(将方向向量调整为90°);规范化方向和法线向量,以便sqrt(x^2+y^2) = 1
  3. 计算初始点与另一点之间的距离向量,这是您的第二行,共享相同的初始点。
  4. 计算a和b的点积:
    • a =距离矢量×法线向量
    • b =距离矢量×方向矢量
  5. 使用简单的三角法计算角度。这是(a/b)(b/a)
  6. 的反正切

    如果你不关心左右,你可能也想取结果的绝对值。