%%%%%%% les parametres %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
/N 251 def %% nombre de sommets du polygone
/k 151 def %% multiplication modulaire par k
/l 3 def %% facteur d'agrandissement pour le segment
/echelle .5 def %% echelle pour la fenetre de dessin
%% echelle = .5 ==> fenetre de 2 xmin a 2 xmax
.01 setlinewidth %% epaisseur du trait
/avec_legende true def %% switch pour la legende (true ou false)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
echelle dup scale
-15 15 setxrange
-15 15 setyrange
%% on genere un polygone regulier a N sommets
/les_points O 5.5 N 0 genpolyreg def
/fillstyle {jaune fill} def
%O 5 cercle*
%% on relie le point d'indice i au point d'indice k*i (mod N)
/i 0 def
N {
les_points i getp
les_points i k mul N mod getp
l trait %% ici les traits depassent du segment (de 50%)
/i i 1 add store
} repeat
%%%%%%% la legende
/fontsize 12 echelle div def
/str 20 string def
/legende {
setTimesItalic
( n) xmin echelle div ymin echelle div rtext
setTimes
( = ) show
N str cvs show
setTimesItalic
(k) 0 ymin echelle div text
setTimes
( = ) show
k str cvs show
setTimesItalic
(l) xmax xmin sub .8 mul xmin add echelle div ymin echelle div text
setTimes
( = ) show
l str cvs show
} def
avec_legende {legende} if
|