gpt4 book ai didi

Java:以度为单位计算两点之间的角度

转载 作者:IT老高 更新时间:2023-10-28 20:39:32 25 4
gpt4 key购买 nike

我需要为我自己的 Point 类计算两点之间的角度,点 a 应该是中心点。

方法:

public float getAngle(Point target) {
return (float) Math.toDegrees(Math.atan2(target.x - x, target.y - y));
}

测试 1://返回 45

Point a = new Point(0, 0);
System.out.println(a.getAngle(new Point(1, 1)));

测试 2://返回 -90,预期:270

Point a = new Point(0, 0);
System.out.println(a.getAngle(new Point(-1, 0)));

如何将返回的结果转换为 0 到 359 之间的数字?

最佳答案

您可以添加以下内容:

public float getAngle(Point target) {
float angle = (float) Math.toDegrees(Math.atan2(target.y - y, target.x - x));

if(angle < 0){
angle += 360;
}

return angle;
}

对了,你为什么不想在这里使用 double ?

关于Java:以度为单位计算两点之间的角度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9970281/

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