如何用 tikz 绘制渐变螺旋

如何用 tikz 绘制渐变螺旋

我想用 tikz 绘制渐变螺旋,但遇到了问题。我当前的代码:

\draw[line width=0.24mm, rotate=120, color=red] (0,0)
  \foreach \i [evaluate={\r=(\i/1212)^2;}] in {0,5,...,545} {
    -- (\i:\r)
  };

我发现,如果我在最后一个分号前添加“[color=red!10]”,它会覆盖第一行的“color=red”。但是,我想做的是使用 \i 变量(或包含它的公式)代替数字 10,如下所示:

\draw[line width=0.24mm, rotate=120, color=red] (0,0)
  \foreach \i [evaluate={\r=(\i/1212)^2;}] in {0,5,...,545} {
    -- (\i:\r)
  }[color=red!\i];

问题在于对“i”的引用在 foreach 循环之外,因此我遇到了“!缺少数字,视为零。”错误。

有什么方法可以在循环外使用“i”变量吗?我尝试在循环内定义一个变量,然后在循环外使用它,但没有成功。

任何其他绘制渐变螺旋的方法也将受到赞赏。

谢谢!

答案1

我认为这有效,尽管我不确定它看起来是否好。

在此处输入图片描述

\documentclass[border=4mm]{standalone}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}[scale=5]
  \foreach \i [
   remember=\i as \previ(initially 0),
   evaluate=\i as \r using {(\i/1212)^2},
   evaluate=\previ as \prevr using {(\previ/1212)^2},
   evaluate=\i as \ired using {\i/5.45}] in {5,10,...,545} {
   \draw[line width=0.24mm, rotate=120, color=red!\ired] (\previ:\prevr) -- (\i:\r);
  };
\end{tikzpicture}
\end{document}

相关内容