我在计算点和线之间的垂直距离。我用向量投影来绘制向量拒绝。然而,当我绘制矢量拒绝时,它并不是与原始矢量成直角。谁能帮忙吗?在
绿线和橙线应该是垂直的,但不是
x=np.linspace(1,40,10000)
y=3+.5*x
xini, yini=1,3.5
plt.plot(x,y,label='vector1')
am=np.stack((x,y))
am[:,0]
xy,length=am.shape
xatom,yatom=2,3
xm=am[0,-1]
ym=am[1,-1]
Vector1=[xatom-xini,yatom-yini,0]
Vector2=[xm-xini,ym-yini,0]
unitb=Vector2/np.linalg.norm(Vector2)
impactvector=Vector1-unitb*np.dot(Vector1, unitb)
plt.plot(x,y)
plt.scatter(xatom,yatom)
b=np.linalg.norm(impactvector)
plt.plot(x,yatom+(impactvector[1]/impactvector[0])*(x-xatom))
plt.xlim(0,4)
plt.ylim(2,4)
它实际上是一个直角;你被你的
X
和Y
轴所用的不同比例愚弄了。在如果将比例调整为相等,图形将显示垂直。在
相关问题 更多 >
编程相关推荐