如何使用 TikZ 在螺旋上创建等距节点?

如何使用 TikZ 在螺旋上创建等距节点?

我借用了以下代码,使用 TEX.SE 中现有的一个帖子绘制螺旋。

\begin{tikzpicture}
\draw [domain=0:25.1327,variable=\t,smooth,samples=55]
    plot[mark=*,mark options={fill=white}] ({\t r}: {0.002*\t*\t});
\end{tikzpicture}

在此处输入图片描述

如图所示,生成的螺旋线中的节点在靠近中心时会越来越近。我想要的是指定一组与相邻节点距离相等的螺旋线节点。也就是说,它们不会像上图那样朝着中心越来越近。生成的螺旋线可以被认为是现有螺旋线的近似值,当然,现有螺旋线看起来不再平滑。

答案1

如果您不需要精确复制现有的螺旋,则可以使用具有恒定段长度和角角度随距离的平方根增加的路径:

\documentclass[border=5mm]{standalone}

\usepackage{tikz}

\begin{document}
\begin{tikzpicture}

\draw  (0,0) \foreach \t in {0.1,0.2,...,3}{
  -- ++({sqrt(\t)*700}:0.4cm)
};
\draw [fill=white] circle [radius=1pt] (0,0) \foreach \t in {0.1,0.2,...,3}{
   ++({sqrt(\t)*700}:0.4cm) circle [radius=1pt]
};

\end{tikzpicture}


\end{document}

答案2

使用 PSTricks。只是为了好玩!

\documentclass[pstricks,border=12pt]{standalone}
\usepackage{multido,pst-node}
\begin{document}
\begin{pspicture}[showgrid](-5,-5)(5,5)
\def\points{}%
\multido{\r=0.0+0.1}{90}{\xdef\points{\points(!1 \r\space sqrt 700 mul PtoC)}}
\psset{showpoints,dotstyle=o,dotscale=2}
\rput(-1,0){\expandafter\psrline\points}
\end{pspicture}
\end{document}

在此处输入图片描述

相关内容