Como desenhar este diagrama em TikZ?
Sinto muito por não fornecer um exemplo mínimo aqui, porque estou totalmente preso desde o início. Não consigo encontrar uma solução para muitos subproblemas que ocorreram durante minhas tentativas. Aqui estão os mais difíceis:
- As linhas curvas:Claramente deveriam ter o mesmo centro, mas se eu usar esse centro, a altura da imagem é extremamente grande, o que não cabe na página. Se eu usar
arc
, posso evitar a enorme altura desnecessária, mas é muito difícil tornar os arcos concêntricos. - As notações de ângulo reto:Encontrei uma solução: desenhe um pequeno quadrado que tenha a linha tracejada e as curvas como dois lados. Claro que não posso usar
\pic
aqui (ou posso?). Mas existem 8 desses quadrados aqui, então desenhar um número tão grande de quadrados tornará meu código extremamente longo, o que não gosto. - As setas curvas:Eu acho
in
queout
é bom, mas é muito difícil para mim encontrar as coordenadas e os ângulos de tangência. Não sou "sensível" ocontrols
suficiente para encontrar os pontos de controle.
Pode me ajudar? Agradeço antecipadamente!
Responder1
De acordo com o que descobri, você pode obter resultados razoáveis ajustando a folga. (E você pode desenhar os símbolos de ângulo reto em um loop.)
\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}
Não sei quão heterogêneo é o seu campo. Definitivamente, também se poderia desenhar os círculos de acordo com a lei de Coulomb.
\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}