以编程方式在 TikZ 中扩展我的图像

以编程方式在 TikZ 中扩展我的图像

我有一张由多个缓慢扩展的圆弧组成的图像。现在我想在相同的总角度上添加另外 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}

相关内容