
私は回答から次のコードを使用しましたこの質問
\documentclass{beamer}
\beamertemplatenavigationsymbolsempty
\usepackage{tikz}
\begin{document}
\begin{frame}[t]
\frametitle{Spirifankerln using scale}
\begin{tikzpicture}[pics/spiro/.style={code={
\draw[line width=.1cm,looseness=1,pic actions]
(0,-2) foreach \X in {0,90,180,270}
{[rotate=\X]
-- (0,-2)% node {1}
to[out=0,in=-90] ++ (0.2,0.1)% node {2}
to[out=90,in=-180] ++ (1.7,1.7)% node {3}
to[out=0,in=-90] ++ (0.1,0.2)% node[red] {4}
} -- cycle;}}]
\pic[draw=orange!100,fill=orange!40,scale=2, rotate=11.25]{spiro};
\pic[draw=orange!100,fill=orange!40,scale=2, rotate=-11.25]{spiro};
\pic[draw=orange!100,fill=orange!40,scale=2, rotate=33.75]{spiro};
\pic[draw=orange!100,fill=orange!40,scale=2, rotate=-33.75]{spiro};
\pic[draw=brown!100,fill=brown!40,scale=2, rotate=-22.5]{spiro};
\pic[draw=brown!100,fill=brown!40,scale=2, rotate=22.5]{spiro};
\pic[draw=red!100,fill=red!40,scale=2, rotate=45]{spiro};
\pic[draw=purple!100,fill=purple!40,scale=2]{spiro};
\end{tikzpicture}
\end{frame}
\end{document}
それを簡略化して、次の図のように角を尖らせる方法。
答え1
を再描画するだけですpic
。色にパターンがないので、単純化する必要はほとんどありません。
\documentclass{beamer}
\beamertemplatenavigationsymbolsempty
\usepackage{tikz}
\begin{document}
\begin{frame}[t]
\frametitle{Spirifankerln using scale}
\begin{tikzpicture}[pics/spiro/.style={code={
\draw[line width=.1cm,looseness=1,pic actions]
(0,-2) arc (180:90:2) arc (270:180:2) arc (360:270:2) arc (90:0:2);
}
}]
\foreach \i in {-33.75,-11.25,11.25,33.75}
\pic[draw=orange!100,fill=orange!40,scale=2,rotate=\i]{spiro};
\pic[draw=brown!100,fill=brown!40,scale=2, rotate=-22.5]{spiro};
\pic[draw=brown!100,fill=brown!40,scale=2, rotate=22.5]{spiro};
\pic[draw=red!100,fill=red!40,scale=2, rotate=45]{spiro};
\pic[draw=purple!100,fill=purple!40,scale=2]{spiro};
\end{tikzpicture}
\end{frame}
\end{document}
すべてをループに追加します (順序が重要であることに注意してください)。
\documentclass{beamer}
\beamertemplatenavigationsymbolsempty
\usepackage{tikz}
\begin{document}
\begin{frame}[t]
\frametitle{Spirifankerln using scale}
\begin{tikzpicture}[pics/spiro/.style={code={
\draw[line width=.1cm,looseness=1,pic actions]
(0,-2) arc (180:90:2) arc (270:180:2) arc (360:270:2) arc (90:0:2);
}
}]
\foreach \i/\clr in {3/orange,1/orange,2/brown,4/red,0/purple} {
\pic[draw/.expanded=\clr!100,fill/.expanded=\clr!40,scale=2,rotate=\i*11.25]{spiro};
\pic[draw/.expanded=\clr!100,fill/.expanded=\clr!40,scale=2,rotate=-\i*11.25]{spiro};
}
\end{tikzpicture}
\end{frame}
\end{document}
(上記と同じ出力)