Java 三角形数值,弧度,角度

Java方法根据三边求角度的方法,以及值,弧度,角度的不同计算

public static int calAngle(final int x1, final int x2, final int x3, final int y1, final int y2, final int y3) {
        double lenAB = 0;
        double lenCD = 0;
        double lenEF = 0;

        double a = x1 - x2;
        double b = y1 - y2;
        lenAB = Math.sqrt(a * a + b * b);

        double c = x2 - x3;
        double d = y2 - y3;
        lenCD = Math.sqrt(c * c + d * d);

        double e = x1 - x3;
        double f = y1 - y3;
        lenEF = Math.sqrt(e * e + f * f);

        if ((lenAB + lenCD <= lenEF) || (lenCD + lenEF <= lenAB) || (lenAB + lenEF <= lenCD)) {
            return -1;
        }

        //值
        double cosV = (lenAB * lenAB + lenCD * lenCD - lenEF * lenEF) / (2 * lenAB * lenCD);

        //弧度
        double radian = Math.acos(cosV);

        //角度
        return (int) Math.toDegrees(radian);
    }

你可能感兴趣的:(Java)