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

我需要为自己的Point类计算两个点之间的角度,以度为单位,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;

}

顺便说一句,为什么您不想在这里使用双精度?

以上是 Java:计算两点之间的角度(以度为单位) 的全部内容, 来源链接: utcz.com/qa/431741.html

回到顶部