必威体育Betway必威体育官网
当前位置:首页 > IT技术

Java 计算角平分线

时间:2019-09-27 18:43:13来源:IT技术作者:seo实验室小编阅读:59次「手机版」
 

角平分线

有三个点,计算出角平分线。首先要算出两个点之间的方位角,根据方位角算出夹角。下面以角平分线长度是20示例计算。

        double dStartAngle = Math.atan2(mdE1 - mdE2, mdN1 - mdN2);
        double dEndAngle = Math.atan2(mdE3 - mdE2, mdN3 - mdN2);
        double dWAngle = dEndAngle - dStartAngle;//外角角度
        if (dWAngle < 0) {
            dWAngle += 2 * Math.PI;
        } else if (dWAngle  > (2 * Math.PI)) {
            dWAngle -= 2 * Math.PI;
        }
        double dNAngle = 2 * Math.PI - dWAngle;//夹角  这个角度是比较小的

        /// 这里算出来角度都是弧度单位的

        double temp = dWAngle / 2 + dStartAngle;
         ///外角平分线的点
        double N = 20 * Math.cos(temp) + mdN2;
        double E = 20 * Math.sin(temp) + mdE2;

        ///夹角(内角)平分线的点
         N = 2 * mdN2 - N;
         E = 2 * mdE2 - E;

计算方位角:

    //计算两点方位角
    public double getAzimuth(double dN1, double dE1, double dN2, double dE2) {
        double dAzimuth = 0;

        dAzimuth = Math.atan2(dE2 - dE1, dN2 - dN1) * 180 / Math.PI;
        if (dAzimuth < 0)
            dAzimuth += 360;

        return dAzimuth;
    }

相关阅读

分享到:

栏目导航

推荐阅读

热门阅读