J'ai été intrigué par le trèfle de l'avatar d'uztop, qui m'a dit où il l'avait trouvé (source).
J'ai bien aimé la méthode de construction, elle est simple mais assez fastidieuse sur papier (j'ai essayé
Donc j'ai voulu faire une petite procédure Maple pour tracer tout ça. En fait j'ai utilisé la fonction de Maple qui permet de tracé point par point (avec le package with(plots) ). J'ai juste défini une partie du dessin, j'obtiens le reste grâce à des symétries axiales simples.
Je vous la soumet (elle marche, je l'ai testé) (j'ai noté 1,2,3,4,5,6 les différentes parties du trèfle) :
> restart;
> with(plots):
trefle:=proc(n::even)
> local m,P,L,L2,L56,L34,C,i,j,k,t;
> m:=n;
> L2:=[];
> L:=[[0,0]];
> L56:=[];
> L34:=[];
> C:=[[0,0],[m,m],[m,0],[0,m],[m,m],[0,0]];
>
> for i from 1 to (m/2) do L:=[op(L),[0,i],[(m/2)+1-i,(m/2)+1-i],[0,i]];od;
>
> L2:=L;
>
> for j from 1 to (3*(m/2)+1) do L2[j][2]:=(m-L2[j][2]);od;
>
> P:=[op(L),op(L2)];
> L56:=P;
>
> for k from 1 to 6*(m/2)+2 do L56[k][1]:=(m-L56[k][1]);od;
>
> L34:=P;
>
> for t from 1 to 6*(m/2) do L34[t][1]:=(m-P[t][2]); L34[t][2]:=(m-P[t][1]);od;
>
> L:=[op(C),op(L),op(L2),[0,m/2],[0,0],[m,0],op(L56),[m,m],op(L34)];
>
> plot(L,scaling=constrained);
> end;
Voilà le résultat pour n=18 :
Alors en fait tout marche très bien jusqu'à n=32, après Maple ne trace plus rien et me dit :
Error, (in trefle) assigning to a long list, please use Arrays
Donc si je comprends bien, si n est trop grand, la liste est trop longue. Mais pourquoi et comment utiliser des vecteurs ("Arrays") ? Je vois pas comment faire et pourquoi cela serait plus facile pour Maple...
En fait j'aimerais atteindre n=100 pour avoir une jolie figure
Autre question :
J'ai l'impression que cette figure (si on lui rajoute sa quatrième partie, en fait trèfle à quatres feuilles
Est-ce que je peux faire intervenir une fonction plutôt que le tracé point par point ?
Merci pour vos réponses et n'hésitez pas à me demander plus de précisions...
Au revoir.





