小学期纪录,P1,P2,是两个异面直线上的点,L1,L2是线的单位方向向量
def getfinal(P1,P2,l1,l2):
yuandian1=np.array([P1])
yuandian2=np.array([P2])
danwei1=np.array([l1])
danwei2=np.array([l2])
dt = [x - y for x, y in zip(P1, P2)]
d3=np.multiply(l1,l1) #a1^2
d5=np.multiply(l2,l2) #a2^2
d4=np.multiply(l1,l2) #a1*a2
d1=np.multiply(l1,dt) #a1(x1-x2)
d6=np.multiply(l2,dt)
eq1=[[sum(d3),-sum(d4)],[sum(d4),-sum(d5)]]
eq2=[[-sum(d1)],[-sum(d6)]]
c=linalg.solve(eq1,eq2)
pot1=danwei1*c[0]+yuandian1
pot2=danwei2*c[1]+yuandian2
final=(pot1+pot2)/2
print(pot1,pot2,final)
#print(final)
return final