首页 > 其他 > 详细

根据三个坐标计算其夹角

时间:2020-08-11 16:46:43      阅读:102      评论:0      收藏:0      [点我收藏+]

求给定三个点的夹角,其实是求<,>两个向量之间的夹角α 。本文采用如下公式求解。

cosα=A×B/AB

源代码(Java)如下:

private double getAngleByThreeP(double[] pointx, double[] pointy) {
        double a_b_x = pointx[0] - pointx[1];
        double a_b_y = pointy[0] - pointy[1];
        double c_b_x = pointx[2] - pointx[1];
        double c_b_y = pointy[2] - pointy[1];
        double ab_mul_cb = a_b_x * c_b_x + a_b_y * c_b_y;
        double dist_ab = Math.sqrt(a_b_x * a_b_x + a_b_y * a_b_y);
        double dist_cd = Math.sqrt(c_b_x * c_b_x + c_b_y * c_b_y);
        double cosValue = ab_mul_cb / (dist_ab * dist_cd);
        return Math.acos(cosValue);
    }

求出来的结果是弧度值(另:角度值=弧度*180/π)

转载自【搬砖程序员

根据三个坐标计算其夹角

原文:https://www.cnblogs.com/qingtian-jlj/p/13476480.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!