我刚刚看到3 Blue 1 Brown 的视频关于散度和旋度,我发现他关于流体流动的图表非常漂亮,尤其是作为一篇文章或一本书。现在,我熟悉了 TikZ 和 PGFPlots,我知道如何制作矢量图,甚至 2D 彩色图;但我真正期待的是让这些线像流体粒子一样移动,如果不可能的话,最好在 LaTeX 中使用一些软件包或其他方式来实现(图片与我想要的类似)。
答案1
这试图解决从原则上如何生成此类图的问题。我没有注意精确复制您的(非常漂亮!)屏幕截图。以下是我得到的。
\documentclass[tikz,border=3.14mm]{standalone}
\usepackage{pgfplots}
\pgfplotsset{compat=1.16}
\begin{document}
\begin{tikzpicture}
\begin{axis}[axis equal,hide axis,trig format=rad,point meta min=0.4,point meta max=1.8,
axis background/.style={fill=black}]
\foreach \Y in {0.2,0.4,...,1}
{\foreach \X in {1,1.2,1.4,1.6}
{\edef\temp{\noexpand\pgfmathtruncatemacro{\noexpand\Samples}{20*\X}
\noexpand\pgfmathsetmacro{\noexpand\ArrowScale}{0.2*\X}
\noexpand\addplot [samples=\noexpand\Samples, domain=0:2*pi,-stealth,point meta=\X,colormap/hot,
variable=\noexpand\t,opacity=\Y,quiver={
u={-sin(t)},
v={cos(t)},
scale arrows=\noexpand\ArrowScale,colored,
},
] ( {\X*cos(t)*(1+0.2*sin(4*t))*(1+0.1*sin(2*pi*\Y))}, {\X*2*sin(t)*(1+0.1*sin(2*pi*\Y))} );}
\temp}}
\end{axis}
\end{tikzpicture}
\end{document}
那些也生活在洞穴中的用户必然会熟悉这种参数化。