我有一张由多个缓慢扩展的圆弧组成的图像。现在我想在相同的总角度上添加另外 10 个楔形(因此每个圆弧约为 14º)。
我正在尝试使用以下代码,但出现以下错误。
我该如何使用\pgfmathprintnumber
,\draw arc
或者,有什么更好的方法可以在短循环中生成弧线吗?
\foreach \i in {0,...,10} {
\pgfmathsetmacro\result{\i * -14};
\draw ++(6:\i) arc (6:{\pgfmathprintnumber{\result}}:\i);
}
! Use of \tikz@@arcto doesn't match its definition.
这是我当前的 MWE(当前图像的代码,加上使用扩展的尝试foreach
):
\documentclass[class=minimal,border=0pt]{standalone}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
\draw [gray!50] ++(25:1) arc (25:-205:1);
\draw [gray!50] ++(25:2) arc (25:-205:2);
\draw [gray!50] ++(25:3) arc (25:-205:3);
\draw [gray!50] ++(25:4) arc (25:-205:4);
\node [anchor=south] at (25:1) {W1};
\node [anchor=south] at (25:2) {W2};
\node [anchor=south] at (25:3) {W3};
\node [anchor=south] at (25:4) {W4};
\foreach \i in {0,...,10} {
\pgfmathsetmacro\result{\i * -14};
\draw ++(6:\i) arc (6:{\pgfmathprintnumber{\result}}:\i);
}
\draw (0,0) -- (6:4);
\draw ++(6:1) arc (6:-15:1);
\draw (0,0) -- (-15:1);
\draw ++(6:2) arc (6:-45:2);
\draw (0,0) -- (-45:2);
\draw ++(6:3) arc (6:-90:3);
\draw (0,0) -- (-90:3);
\draw ++(6:4) arc (6:-140:4);
\draw (0,0) -- (-140:4);
\end{tikzpicture}%
\end{document}
答案1
不太清楚你的意思总角度。但修改代码应该很容易。
\documentclass[tikz]{standalone}
\begin{document}
\begin{tikzpicture}[line cap=round]
\foreach\i/\result in{1/-15,2/-45,3/-90,4/-140}{
\draw[gray!50](25:\i)node[above,black]{$W_{\i}$}arc(25:-205:\i);
\draw(6:\i-1)--(6:\i)arc(6:\result:\i)--(0,0);
}
\foreach\i in{1,...,10}{
\pgfmathsetmacro\result{-14.6*\i+6};
\draw[gray!50](25:\i+4)arc(25:-205:\i+4);
\draw(6:\i+3)--(6:\i+4)arc(6:\result:\i+4)--(\result:4);
}
\end{tikzpicture}
\end{document}