Code : Tout sélectionner
\documentclass{article}
\usepackage{xpicture}
\usepackage{multido}
\begin{document}
\newcommand{\xrosace}[1]{%
\polarreference\degreesangles%
\newcommand{\Depart}{\ifodd#1-90\else0\fi}%
\DIVIDE{360}{#1}{\Rot} %
\DIVIDE{\Rot}{2}{\DemRot}%
\ifodd#1\SUBTRACT{90}{\DemRot}{\Orig}%
\else\SUBTRACT{180}{\Rot}{\Orig}%
\fi
\ifodd#1\ADD{\Orig}{\Rot}{\Extr}%
\else\ADD{180}{\Rot}{\Extr}%
\fi
\DIVIDE{\Rot}{4}{\QrtRot}%
\ifodd#1\DEGREESSIN{\QrtRot}{\Drayon}%
\else\DEGREESSIN{\DemRot}{\Drayon}%
\fi
\MULTIPLY{2}{\Drayon}{\rayon}%
\DIVIDE{1}{\rayon}{\Irayon}%
\Circle{1}%
\multido{\rangle=\Depart+\Rot,%
\rorig=\Orig+\Rot,%
\rextr=\Extr+\Rot}{#1}%
{\Put(\Irayon,\rangle){\circularArc{\Irayon}{\rorig}{\rextr}}}
}% fin xrosace
\unitlength=2cm
\begin{xpicture}(9,4)(-3,-1)
\Put(-4, 0){\xrosace{3}}
\Put(-2, 0){\xrosace{4}}
\Put( 0, 0){\xrosace{5}}
\Put( 2, 0){\xrosace{6}}
\Put( 4, 0){\xrosace{7}}
\Put(-4,-2){\xrosace{8}}
\Put(-2,-2){\xrosace{9}}
\Put( 0,-2){\xrosace{10}}
\Put( 2,-2){\xrosace{11}}
\Put( 4,-2){\xrosace{12}}
\end{xpicture}
\end{document}
Je précise que je me suis aidé de Geogebra pour concevoir les algorithmes. Il consiste en tracé d'un arc de cercle que l'on «rotationne» autant de fois qu'il le faut pour tracer la rosace. Ça peut être l'objet d'exercices ou de problèmes pour vos élèves pour calculer les angles.
Une homothétie convenable est appliquée pour ramener le diamètre de la rosace à l'unité.
