gpt4 book ai didi

java - 两点之间的角度

转载 作者:行者123 更新时间:2023-12-01 18:29:17 25 4
gpt4 key购买 nike

我需要获取平面上两点之间的角度(x,y),例如我有点A和B,点A有方向(90),我如何从A方向计算点A和B之间的角度在Java 中?

例如,这是一张图片:

enter image description here

最佳答案

Math.toDegrees(Math.atan(Math.abs(pointBY - pointAY), Math.abs(pointBX - pointAX)));

这会调用反正切函数,根据直角三角形的对边和邻边的长度求出角度。但是,您应该添加此 if 语句:

if(!(pointAX == pointBX || pointAY == pointBY))
{
angle = Math.toDegrees(Math.atan(Math.abs(pointBY - pointAY), Math.abs(pointBX - pointAX)));
}

否则可能会导致异常,因为如果角度为 90 度或 0 度,tan 函数就会崩溃。

pointAXpointBX 是点的 X 坐标,而 pointAYpointBY 是 Y 坐标的点。

该函数求出坐标之差的绝对值(即由两点组成的直角三角形的对边和邻边的长度),然后对它们执行反 tan 函数,求出角度。

关于java - 两点之间的角度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24985751/

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