【其他算法】根据坐标计算三角形的角度

复制代码
def cal_degree(p1, p2, p3):
    """
    计算p1-p2-p3构成的角度
    先计算边长,然后根据cosB = (a*a + c*c -b*b) / (2*a*c)
    """
    x1, y1 = p1
    x2, y2 = p2
    x3, y3 = p3
    a = math.sqrt(pow(x2 - x3, 2) + pow(y2 - y3, 2))
    b = math.sqrt(pow(x1 - x3, 2) + pow(y1 - y3, 2))
    c = math.sqrt(pow(x1 - x2, 2) + pow(y1 - y2, 2))
    cosB = (a * a + c * c - b * b) / (2 * a * c)
    B = math.degrees((math.acos(cosB)))  # 先弧度再角度
    return B
复制代码

 

posted @   我若成风者  阅读(191)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 写一个简单的SQL生成工具
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)
点击右上角即可分享
微信分享提示