tikz 用于扩展弧

tikz 用于扩展弧

我对tikz(还很陌生)特别是我非常欣赏它对极坐标的处理),并希望得到指导,以便构建下面捕获的两个内部“弧”/螺旋。我可以轻松地处理图形的其余部分。如您所见,它们几乎是完美的圆形,但增长非常缓慢。当然,一些轻量级/便携式解决方案将是理想的选择,而不是精度。

在此处输入图片描述

\begin{tikzpicture}

  \draw[->,gray] (0,-2) -- (0,2) node[right]{$y$};
  \draw[->,gray] (-3,0) -- (3,0) node[right]{$x$};

  \draw[fill] (1,1.2) circle [radius=.03];
  \draw[->] (1,1.2) to [out=45,in=220] (1.15,1.35);

  % something here...

\end{tikzpicture}

答案1

你扩展的弧线看起来非常像螺旋。;-)

\documentclass[tikz,border=3.14mm]{standalone}
\usetikzlibrary{decorations.markings,arrows.meta}
\begin{document}
\begin{tikzpicture}

  \draw[->,gray] (0,-2) -- (0,2) node[right]{$y$};
  \draw[->,gray] (-3,0) -- (3,0) node[right]{$x$};

  \draw[{Circle[scale=0.6]}-,postaction={decorate,decoration={markings, 
  mark=at position 0.1 with {\arrow{>};},
  mark=at position 0.2 with {\arrow{Circle[scale=0.6]};},
  mark=at position 0.3 with {\arrow{Circle[scale=0.6]};}}}] 
  plot[variable=\x,samples=100,domain=225:590]
  ({1.5+(0.3+0.002*\x)*cos(-\x)},{0.75+(0.3+0.002*\x)*sin(-\x)});

  \draw[{Circle[scale=0.6]}-,postaction={decorate,decoration={markings, 
  mark=at position 0.95 with {\arrow{>};}}}] 
  plot[variable=\x,samples=100,domain=225:545]
  ({1.5+(0.1+0.03*(\x/100)*(\x/100))*cos(-\x)},{0.75+(0.1+0.0015*\x)*sin(-\x)});

\end{tikzpicture}
\end{document}

在此处输入图片描述

答案2

如果您想要看起来更像“手工制作”的东西,您可以使用hobby包装。

\documentclass[tikz,border=7pt]{standalone}
\usetikzlibrary{hobby}
\begin{document}
  \begin{tikzpicture}[use Hobby shortcut]
    \draw (-1,0) edge[-latex] (3,0) (0,-1) edge[-latex] (0,3);
    \draw[red,-latex] (.5,1) .. (1,1.5) .. (1.5,-.2) .. (.5,1.5);
    \draw[red,-latex] (.7,.8) .. (1,1) .. (1.1,0) .. (.2,.7);
  \end{tikzpicture}
\end{document}

在此处输入图片描述

相关内容