我是 tikz 新手。我正在使用以下代码(极坐标)
\def\radius{12cm}
\begin{tikzpicture}
\foreach \x in {0,10,...,350}
{
\draw [shading=radial, inner color=white, outer color=red!15,draw=white]
(\x:\radius) circle (1);
};
\foreach \x in {0,10,...,350}
{
\node[scale=3.4] at (360-\x+90:\radius) {t};
};
\end{tikzpicture}
代码有效。
But when I use the code (converting to Cartesian co-ordinates)
\foreach \x in {0,10,...,350}
{
\node[scale=3.4] at (\radius\*cos(360-\x+90), \radius\*sin(360-\x+90)) {t};
};
生成错误。我的搜索结果为
TikZ 不使用平方坐标而是使用极坐标,如何更改它以使用笛卡尔坐标?
但我无法做到这一点。该怎么做?提前致谢。
答案1
您需要用括号保护数学运算。然后您的代码就可以正常工作(删除 之前的反斜杠后*
)
\def\radius{12cm}
\begin{tikzpicture}
\foreach \x in {0,10,...,350}{
\node[circle,shading=radial, inner color=white, outer color=red!15,scale=3.4]
at ({\radius*cos(360-\x+90)},{\radius*sin(360-\x+90)}) {t};
}
\end{tikzpicture}