我想用 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}