如何將繪製的形狀進行顏色填滿?

如何將繪製的形狀進行顏色填滿?

我有以下程式碼

\documentclass{standalone}
\usepackage{tikz}
\usetikzlibrary{decorations.markings}
\usetikzlibrary{arrows.meta}
\usetikzlibrary{decorations.pathreplacing}
\usetikzlibrary{shapes.geometric}
\usepackage{pgfplots}
\usepgfplotslibrary{fillbetween}
\tikzset{variable/.default=}
\pgfplotsset{compat=1.10} 

\colorlet{ColorPink}{brown!25}
\colorlet{colourGreen}{green!15}
\begin{document}

\begin{tikzpicture}

\tikzstyle{every node}=[->,line width = 0.05mm]

\begin{scope}[shift={(0.0,5.1,0)}]
\draw plot[variable=\t,domain=0:360,smooth,samples=51] ({270+16*sin(\t)}: 
{5.1*pow(sin(\t/2),10)});
\draw plot[variable=\t,domain=0:360,smooth,samples=51] ({298+12*sin(\t)}: 
{5.8*pow(sin(\t/2),4)});

\end{scope}
\end{tikzpicture}
\end{document}

從而產生了下圖。

捕獲1

但是,我希望圖中的形狀填滿任何指定的顏色,如下圖所示。

在此輸入影像描述

我不知道該怎麼做。有人可以幫忙嗎?提前致謝。

答案1

這就像添加fill=<color>到相應的路徑一樣簡單。

\documentclass[tikz]{standalone}

\colorlet{ColorPink}{brown!25}
\colorlet{colourGreen}{green!15}
\begin{document}

\begin{tikzpicture}
 \begin{scope}[shift={(0.0,5.1,0)}]
  \draw[fill=ColorPink] plot[variable=\t,domain=0:360,smooth,samples=51] ({270+16*sin(\t)}: 
   {5.1*pow(sin(\t/2),10)});
  \draw[fill=colourGreen] plot[variable=\t,domain=0:360,smooth,samples=51] ({298+12*sin(\t)}: 
   {5.8*pow(sin(\t/2),4)});
 \end{scope}
\end{tikzpicture}
\end{document}

在此輸入影像描述

順便說一句,我刪除了所有此處未使用的庫,並且\tikzstyle已棄用。

相關內容