PythonのSympyを使って2点を結ぶ2本の線分の交点の座標をベクトルを使って計算する

import numpy
import sympy

#点p1と点p2を結ぶ線分と点p3と点p4を結ぶ線分の交点を求める
def intersection(p1, p2, p3, p4):
    #各点をベクトルで表す
    a1 = numpy.array(p1)
    a2 = numpy.array(p2)
    a3 = numpy.array(p3)
    a4 = numpy.array(p4)

    #方程式で使う変数の準備
    k = sympy.Symbol('k')
    t = sympy.Symbol('t')

    #点p1と点p2を通るベクトル方程式
    vec1 = a1 + k * (a2 - a1)
    #点p3と点p4を通るベクトル方程式
    vec2 = a3 + t * (a4 - a3)

    eq1 = sympy.Eq(vec1[0], vec2[0])
    eq2 = sympy.Eq(vec1[1], vec2[1])

    s = sympy.solve((eq1, eq2))

    return (a1 + s[k] * (a2 - a1))

print(intersection((2,7),(6,1),(2,3),(6,5)))