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