gpt4 book ai didi

java - 判断一个点是否在一个角度内

转载 作者:行者123 更新时间:2023-11-30 08:36:22 24 4
gpt4 key购买 nike

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

为了更好地解释它:

有一个点有两个 vector 从该点突出。已知的角度是两个 vector 的突出所产生的角度。

最佳答案

首先,角度不是针对两点定义的——仅针对两条线。

  1. 定义一条线作为您的 二维空间。对于一条线,您需要一个点和一个方向。
  2. 计算直线的法 vector (将方向 vector 旋转 90°);将方向 vector 和法线 vector 归一化,使 sqrt(x^2+y^2) = 1
  3. 计算你的初始点和另一个点之间的距离 vector ,这是你的第二条线,共享相同的初始点。
  4. 计算 a 和 b 的点积:
    • a = 距离 vector × 法线 vector
    • b = 距离 vector × 方向 vector
  5. 使用简单的三角函数计算角度。它是 (a/b)(b/a) 的反正切。

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

关于java - 判断一个点是否在一个角度内,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37832716/

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