如何在 TikZ 中绘制非均匀电场区域?

如何在 TikZ 中绘制非均匀电场区域?

如何在 Ti 中绘制此图Z?

在此处输入图片描述

很抱歉,我没有在这里提供一个最小示例,因为我从一开始就完全陷入了困境。我无法找到解决我在尝试过程中出现的许多子问题的方法。以下是最困难的问题:

  1. 曲线:它们显然应该有相同的中心,但如果我使用那个中心,图片的高度会非常大,不适合页面。如果我使用arc,我可以避免不必要的巨大高度,但使圆弧同心太难了。
  2. 直角符号:我找到了一个解决方案:画一个小正方形,以虚线和曲线作为它的两条边。当然我不能\pic在这里使用(或者我可以吗?)。但这里有 8 个这样的正方形,所以画这么多的正方形会使我的代码非常长,我不喜欢这样。
  3. 弯曲的箭头:我认为inout很好,但对我来说,找到坐标和切线角太难了。我对controls找到控制点不够“敏感”。

你能帮助我吗?提前谢谢您!

答案1

据我发现,通过调整松紧度,你可以得到合理的结果。(而且你可以在循环中绘制直角符号。)

\documentclass[tikz,border=3.14mm]{standalone}
\usetikzlibrary{arrows.meta,bending}
\begin{document}
\begin{tikzpicture}[scale=1.5,font=\sffamily]
 \begin{scope}
 \path[preaction={draw,thick},clip] (-4,3) rectangle (4,8);
 \foreach \Y [count=\Z,evaluate=\Z as \Voltage using {int(440-\Z*40)}] in {1.2,1.4,...,2.2}
  {\draw (0,0) circle ({exp(\Y)});
  \node[rotate=-22.5,fill=white] at (67.5:{exp(\Y)}){\Voltage~V};}
 \foreach \X in {60,75,...,120}
  {\draw[dashed] (0,0) -- ++ (\X:10);
  \foreach \Y in {1.2,1.4,...,2.2}
  {\draw  ({\X-10/exp(\Y)}:{exp(\Y)}) -- ({\X-10/exp(\Y)}:{exp(\Y)+0.2})
  -- ({\X}:{exp(\Y)+0.2});}}
 \end{scope} 
 \draw[thick,-{Stealth[length=2mm,bend]}] (-5.5,5.5) -- (-4,5.5) 
  to[out=0,in=-110] (0.5,8.5) node[right]{A};
 \draw[thick,-{Stealth[length=2mm,bend]}] (-5.5,5.5) -- (-4,5.5) 
  to[out=0,in=-105,looseness=1.3] (75:8.7) node[right]{B};
 \draw[thick,-{Stealth[length=2mm,bend]}] (-5.5,5.5) -- (-4,5.5) 
  to[out=0,in=95,looseness=0.8] (90:2.7) node[left]{C};
 \draw[thick,-{Stealth[length=2mm,bend]}] (-5.5,5.5) -- (-4,5.5) 
  to[out=0,in=75,looseness=1.5] (75:2.7) node[right]{D};
 \draw[thick,{Circle}-{Stealth[length=2mm,bend]}] (-5.5,5.5) -- (-4.5,5.5)
 node[midway,above]{$v$} node[midway,below,align=center]{charged\\ particle};
\end{tikzpicture}
\end{document}

在此处输入图片描述

我不知道你的场有多不均匀。当然也可以根据库仑定律画出圆圈。

\documentclass[tikz,border=3.14mm]{standalone}
\usetikzlibrary{arrows.meta,bending}
\begin{document}
\begin{tikzpicture}[scale=1.5,font=\sffamily]
 \begin{scope}
  \path[preaction={draw,thick},clip] (-4,3) rectangle (4,8);
  \foreach \Voltage in {440,400,...,200}
  {\draw (0,0) circle ({4*(400/\Voltage)});
  \node[rotate=-22.5,fill=white] at (67.5:{4*(400/\Voltage)}){\Voltage~V};}
 \foreach \X in {60,75,...,120}
  {\draw[dashed] (0,0) -- ++ (\X:10);
  \foreach \Voltage in {440,400,...,200}
  {\draw  ({\X-2*\Voltage/400}:{4*(400/\Voltage)}) --
  ({\X-2*\Voltage/400)}:{4*(400/\Voltage)+0.15})
  -- ({\X}:{4*(400/\Voltage)+0.15});}}
 \end{scope} 
 \draw[thick,-{Stealth[length=2mm,bend]}] (-5.5,5.5) -- (-4,5.5) 
  to[out=0,in=-110] (0.5,8.5) node[right]{A};
 \draw[thick,-{Stealth[length=2mm,bend]}] (-5.5,5.5) -- (-4,5.5) 
  to[out=0,in=-105,looseness=1.3] (75:8.7) node[right]{B};
 \draw[thick,-{Stealth[length=2mm,bend]}] (-5.5,5.5) -- (-4,5.5) 
  to[out=0,in=95,looseness=0.8] (90:2.7) node[left]{C};
 \draw[thick,-{Stealth[length=2mm,bend]}] (-5.5,5.5) -- (-4,5.5) 
  to[out=0,in=75,looseness=1.5] (75:2.7) node[right]{D};
 \draw[thick,{Circle}-{Stealth[length=2mm,bend]}] (-5.5,5.5) -- (-4.5,5.5)
 node[midway,above]{$v$} node[midway,below,align=center]{charged\\ particle};
\end{tikzpicture}
\end{document}

在此处输入图片描述

相关内容