大大大橙子也没有了 2019-01-03 02:00 采纳率: 0%
浏览 5183
已采纳

用Python,已知两条线段的顶点坐标,求两条线的夹角

图片说明

如图所示的两条线,求它们的夹角,小白不会,求解决!!!

  • 写回答

3条回答 默认 最新

  • 暗香独自开 2019-01-05 16:12
    关注
    #两条线段的夹角的计算
    #向量思维
    import math
    import numpy as np
    
    #得到向量的坐标以及向量的模长
    class Point(object):
        def __init__(self, x1, y1, x2, y2):
            self.x1 = x1
            self.y1 = y1
            self.x2 = x2
            self.y2 = y2
    
        def vector(self):
            c = (self.x1 - self.x2, self.y1 - self.y2)
            return c
    
        def length(self):
            d = math.sqrt(pow((self.x1 - self.x2), 2) + pow((self.y1 - self.y2), 2))
            return d
    
    #计算向量夹角
    class Calculate(object):
        def __init__(self, x, y, m, n):
            self.x = x
            self.y = y
            self.m = m
            self.n = n
    
        def Vector_multiplication(self):
            self.mu = np.dot(self.x, self.y)
            return self.mu
    
        def Vector_model(self):
            self.de = self.m * self.n
            return self.de
    
        def cal(self):
            result = Calculate.Vector_multiplication(self) / Calculate.Vector_model(self)
            return result
    
    if __name__ == '__main__':
    
        first_point = Point(1, 2, 3, 2)
        two_point = Point(3, 5, 4, 2)
        ca = Calculate(first_point.vector(), two_point.vector(), first_point.length(), two_point.length())
        print('两向量的夹角', ca.cal())
    

    展开全部

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)
编辑
预览

报告相同问题?

手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部