pst-ode,磁感应线

pst-ode,磁感应线

尝试绘制磁场的简化图。

结果如下:

看起来有瑕疵(看起来T_T)

在此处输入图片描述

代码:

\documentclass{article}
\usepackage{amsmath}
\usepackage{pst-plot, pst-math}
\usepackage{pst-ode}

\begin{document}
\psset{unit=3cm}
\begin{pspicture}(-2.2,-1.2)(2.1,1.1)
\psaxes[ticksize=0 4pt,axesstyle=frame,tickstyle=inner,subticks=20,
        Ox=-2,Oy=-1](-2,-1)(2,1)
\psset{arrows=->, algebraic}
\psVectorfield[linecolor=black!60](-1.9,-0.9)(1.9,0.9){%
(y*(  sqrt(((x-1.3)^2+y^2)^3) - sqrt(((x+1.3)^2+y^2)^3)  )
)/(
(x+1.3)*sqrt(((x-1.3)^2+y^2)^3) - (x-1.3)*sqrt(((x+1.3)^2+y^2)^3)
)}
\end{pspicture}
\end{document}

因此,我希望能够修复矢量的长度,但我只知道“线宽”这样的选项......

答案1

存在一些奇点。使用三个间隔:

\documentclass{article}
\usepackage{pst-plot,pst-ode}

\begin{document}
    \psset{unit=3}
    \begin{pspicture}(-2.2,-1.2)(-0.5,1.1)
    \psset{arrows=->, algebraic}
    \psclip{\psframe[linestyle=none](-2,-1)(2,1)}
    \psVectorfield[linecolor=black!60](-1.9,-0.9)(-1.405,0.9){%
        (y*(  sqrt(((x-1.3)^2+y^2)^3) - sqrt(((x+1.3)^2+y^2)^3)))
        /
        ((x+1.3)*sqrt(((x-1.3)^2+y^2)^3)-(x-1.3)*sqrt(((x+1.3)^2+y^2)^3))}
    \psVectorfield[linecolor=black!60](-1.25,-0.9)(1.3,0.9){%
        (y*(sqrt(((x-1.3)^2+y^2)^3) - sqrt(((x+1.3)^2+y^2)^3)))
        /
        ((x+1.3)*sqrt(((x-1.3)^2+y^2)^3)-(x-1.3)*sqrt(((x+1.3)^2+y^2)^3))}
    \psVectorfield[linecolor=black!60](1.43,-0.9)(2,0.9){%
        (y*(sqrt(((x-1.3)^2+y^2)^3) - sqrt(((x+1.3)^2+y^2)^3)))
        /
        ((x+1.3)*sqrt(((x-1.3)^2+y^2)^3)-(x-1.3)*sqrt(((x+1.3)^2+y^2)^3))}
    \endpsclip
    \psaxes[ticksize=0 4pt,axesstyle=frame,tickstyle=inner,
    subticks=20, Ox=-2,Oy=-1](-2,-1)(2,1)
    \end{pspicture}
\end{document}

在此处输入图片描述

相关内容