美文网首页
查找两条直线的交点位置

查找两条直线的交点位置

作者: 沐辰老爹 | 来源:发表于2018-02-27 16:35 被阅读0次

    直接贴代码,摘自问题

    import numpy as np
    
    def perp(a):
        b = np.empty_like(a)
        b[0] = -a[1]
        b[1] = a[0]
        return b
    
    # line segment a given by endpoints a1, a2
    # line segment b given by endpoints b1, b2
    # return
    
    
    def seg_intersect(a1, a2, b1, b2):
        '''
        查找交点位置两条直线
        '''
        da = a2 - a1
        db = b2 - b1
        dp = a1 - b1
        dap = perp(da)
        denom = np.dot(dap, db)
        num = np.dot(dap, dp)
        return (num / denom.astype(float)) * db + b1
    
    def main():
    
    
        p1 = np.array([2.0, 2.0])
        p2 = np.array([4.0, 3.0])
    
        p3 = np.array([6.0, 0.0])
        p4 = np.array([6.0, 3.0])
    
        print(seg_intersect(p1, p2, p3, p4))
    
    main()
    

    相关文章

      网友评论

          本文标题:查找两条直线的交点位置

          本文链接:https://www.haomeiwen.com/subject/cesmxftx.html