计算两点之间的角度 – java

前端之家收集整理的这篇文章主要介绍了计算两点之间的角度 – java前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我需要计算两点之间的角度,以一个与给定两点相连的固定点.

这是一个说明我需要的图像:

这是我迄今为止所尝试的:

public static float GetAngleOfLineBetweenTwoPoints(float x1,float x2,float y1,float y2) {
        float xDiff = x2 - x1;
        float yDiff = y2 - y1;
        return (float) (Math.atan2(yDiff,xDiff) * (180 / Math.PI));
}

说没有提供正确的答案是毫无意义的.

解决方法

您可以使用以下方法使用Math.atan2方法计算弧度角:
public static double angleBetweenTwoPointsWithFixedPoint(double point1X,double point1Y,double point2X,double point2Y,double fixedX,double fixedY) {

    double angle1 = Math.atan2(point1Y - fixedY,point1X - fixedX);
    double angle2 = Math.atan2(point2Y - fixedY,point2X - fixedX);

    return angle1 - angle2; 
}

并用三点(使用Math.toDregrees将所得角度从弧度变换为度数):

System.out.println(Math.toDegrees(
            angleBetweenTwoPointsWithFixedPoint(0,// point 1's x and y
                                                1,1,// point 2
                                                1,0  // fixed point
                                               )));

输出:90.0

随时可以在解决方案中使用Java的标准Point或Line2D类.这只是为了证明它的作品.

猜你在找的Java相关文章