On fait une procédure maillage1(a,k) qui trace avec la couleur k un écran remplit de carés de côtés a.
//a represente la longueur du carreau et k la couleur du maillage maillage1(a,k):={ local p,c,cc; p:= position; c:=cap; cc:=crayon; leve_crayon;position([0,0]);cap 0;baisse_crayon;crayon k; repete(ceil(260/a),avance(ceil(400/a)*a),pas_de_cote(a), tourne_droite 180, avance(ceil(400/a)*a),pas_de_cote(-a), tourne_droite 180); leve_crayon;position([0,0]);cap 0;baisse_crayon; tourne_gauche; repete(ceil(200/a),avance(ceil(520/a)*a),pas_de_cote(-a), tourne_droite 180, avance(ceil(520/a)*a),pas_de_cote(a), tourne_droite 180); crayon(cc); leve_crayon;position(p); cap(c);baisse_crayon; }
On tape :
maillage1(30,22)
On obtient un fond quadrillé avec des carrés de côtés 30 de couleur
gris pâle de code 22.
On fait une procédure maillage2(a,k) qui trace avec la couleur k un écran formé d’un maillage dont les mailles sont des triangles équilatéraux de côtés a.
//a represente la longueur du triangle et k la couleur du maillage //tricot fait un zig-zag a droite ou a gauche selon que s=-1 ou 1 tricot(a,s):={ repete(ceil(400/a),avance a,tourne_gauche s*120,avance a, tourne_droite s*120) }; maillage2(a,k):={ local p,c,cc; p:= position; c:=cap; cc:=crayon; leve_crayon;position([0,0]);cap 0;baisse_crayon;crayon k; repete(ceil(200/a),avance(ceil(400/a)*a),tourne_gauche 120, tricot(a,1),avance a,tourne_droite 120,avance(ceil(400/a)*a), tourne_droite 120,avance -a,tricot(a,-1),tourne_gauche 120); crayon(cc); leve_crayon;position(p); cap(c);baisse_crayon; }
On tape :
maillage2(30,22)
On obtient un fond triangulé avec des triangles équilatéraux de côtés
30 et de couleur gris pâle de code 22.