【问题标题】:How to invert the direction of arrows from radially outwards to radially inwards?如何将箭头的方向从径向向外反转为径向向内?
【发布时间】:2019-12-10 10:35:29
【问题描述】:

我制作了一个 3D 颤动图来显示由正电荷线引起的电场线。结果似乎还可以,因为所有矢量线都应该径向向外指向。但现在我想对负电荷做同样的事情,所以矢量线应该径向向内。但是通过改变

u = -x/(x**2 + y**2)
v = -y/(x**2 + y**2) 

我得到了相同的结果,字段指向外面。谁能告诉我我的错误是什么,我怎样才能得到想要的结果,谢谢。

代码:

from mpl_toolkits.mplot3d import axes3d
import matplotlib.pyplot as plt
import numpy as np

fig = plt.figure()
ax = fig.gca(projection='3d')

x, y, z = np.meshgrid(np.linspace(-4, 4, 5),
                      np.linspace(-4, 4, 5),
                      np.linspace(-1, 1, 3))

X = x*0
Y = y*0

u = x/(x**2 + y**2)
v = y/(x**2 + y**2)
w = z*0

ax.quiver(X, Y, z, -u, -v, w, length = 0.3)
    
plt.show()

The resultant plot

【问题讨论】:

    标签: python-3.x numpy matplotlib


    【解决方案1】:

    我可能记错了,但我的印象是这样的:

    你绘制了一堆向量,它们都起源于 (0|0) 并向外指向你的 (u|v),其中 (u|v) 围绕一个完整的圆圈。现在你只改变了 (u|v) 的符号,所以你会让你的圈子从相反的方向开始,但是在完成圈子之后它看起来还是一样的。

    您应该交换向量的起点和终点,而不是交换 (u|v) 的符号。

    如果我使用

    ax.quiver(X+u, Y+v, z, -u, -v, w, length = 0.3)
    

    然后我得到指向内部的箭头。

    【讨论】:

      猜你喜欢
      • 2012-04-06
      • 1970-01-01
      • 2011-01-03
      • 1970-01-01
      • 2019-12-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-08-16
      相关资源
      最近更新 更多