答案1
更新答案
在确定爱好路径为所需路径并对“偏移”进行一些澄清之后,这里是基于此的修改答案。
\documentclass[border=10pt,multi,tikz]{standalone}
\usetikzlibrary{hobby,arrows.meta}
\begin{document}
\begin{tikzpicture}
\foreach [evaluate=\i as \ml using {1.2^\x}] \x in {0,1,...,6}{%
\draw (1,1) ++(\x*30:5*\ml) circle [radius=1] ++(\x*30:1.5) coordinate (c\x) ++(\x*30:-3) coordinate (d\x);
}
\draw [-Latex, ultra thick, blue] [use Hobby shortcut] (c0) .. (c1) .. (c2) .. (c3) .. (c4) .. (c5) .. (c6);
\draw [Latex-, ultra thick, magenta] [use Hobby shortcut] (d0) .. (d1) .. (d2) .. (d3) .. (d4) .. (d5) .. (d6);
\end{tikzpicture}
\end{document}
原始答案
穿过圆心的路径有无数条。因此,你所说的“那条”路径到底是哪条完全不清楚。
此外,偏移的类型也很重要。在这里,我假设路径应该相对于(1,1)
相关圆心的方向偏移一个恒定的距离。这意味着这些点从中心“向外推” (1,1)
。
无限多条路径太多了,无法在此网站上给出答案。我画了三条,每条都带有一个箭头。其他的留给您作为练习,亲爱的读者。
\documentclass[border=10pt,multi,tikz]{standalone}
\usetikzlibrary{hobby}
\begin{document}
\begin{tikzpicture}
\foreach [evaluate=\i as \ml using {1.2^\x}] \x in {0,1,...,6}{%
\draw (1,1) ++(\x*30:5*\ml) circle [radius=1] ++(\x*30:1.5) coordinate (c\x);
}
\draw [->] [green] (c0) \foreach \i in {1,...,6} { -- (c\i) };
\draw [->] [blue] [use Hobby shortcut] (c0) .. (c1) .. (c2) .. (c3) .. (c4) .. (c5) .. (c6);
\draw [->] [magenta] \foreach \i [remember=\i as \ilast (initially 0)] in {1,...,6} { (c\ilast) [out=-120,in=60]to (c\i) };
\end{tikzpicture}
\end{document}
答案2
像这样?
\documentclass[tikz, border=3mm]{standalone}
\begin{document}
\begin{tikzpicture}
\foreach \x [count=\i, remember=\x as \rx (initially 01)] in {0,1,...,6}
{%
\pgfmathsetmacro\ml{1.2^(\i-1)}
\pgfmathsetmacro\mr{1.2^(\i-2)}
\ifnum\i>1
\draw[thick, red] (\rx*30:5*\mr) -- (\x*30:5*\ml);
\fi
\draw (\x*30:5*\ml) circle[radius=1];
}
\end{tikzpicture}
\end{document}
或者
\documentclass[tikz, border=3mm]{standalone}
\begin{document}
\begin{tikzpicture}
\foreach \x [count=\i,
remember=\x as \rx (initially 0),
evaluate=\i as \ml using 1.2^(\i-1),
evaluate=\i as \mr using 1.2^(\i-2)] in {0,1,...,6}
{
\ifnum\i>1
\draw[blue] (\rx*30:5*\mr) -- (\x*30:5*\ml);
\fi
\draw[thick, red] (\x*30:5*\ml) circle[radius=1];
}
\end{tikzpicture}
\end{document}