Il existe trois primitives permettant de colorier une forme : La primitive remplis, la primitive rempliszone et la
primitive remplispolygone.
On peut apparenter ces primitives avec la fonction "pot de peinture" utilisée
dans de nombreux logiciels de retouche d’images. On peut atteindre les bords de la zone de dessin. Il y a deux
règles à respecter pour utiliser correctement ces primitives :
- Le crayon doit être en position baissé (bc).
- La tortue ne doit pas être située sur un pixel de la couleur dont on veut remplir la forme. (Si on
veut colorier en rouge, ne pas se trouver soi-même sur du rouge...)
Voyons un exemple pour expliquer la différence entre remplis et rempliszone :
FIG. A.1 | Situation initiale |
|
|
Le pixel sous la tortue est actuellement de couleur blanche. La primitive remplis va colorier tous les pixels blancs
voisins avec la couleur du crayon en cours. Si par exemple on tape : fcc 1 remplis
FIG. A.2 | Avec la primitive remplis |
|
|
Revenons à présent au premier cas, Si la couleur du crayon de la tortue est le noir, la primitive rempliszone,
colorie tous les pixels voisins jusqu’à rencontrer la couleur en cours (ici noire).
FIG. A.3 | Avec la primitive rempliszone, en tapant : fcc 0 rempliszone |
|
|
Voici, un bel exemple d’utilisation de la primtive remplis :
pour demice :c
# trace un demi-cercle de diamètre :c
repete 180 [av :c*tan 0.5 td 1]
av :c*tan 0.5
td 90 av :c
fin
pour arcenciel :c
si :c<100 [stop]
demice :c td 180 av 20 tg 90
arcenciel :c-40
fin
pour dep
lc td 90 av 20 tg 90 bc
fin
pour demarrer
ct arcenciel 400 go tg 90 av 20 re 120 de lc td 90 av 20 bc
fcc 0 remplis dep
fcc 1 remplis dep
fcc 2 remplis dep
fcc 3 remplis dep
fcc 4 remplis dep
fcc 5 remplis dep
fcc 6 remplis dep
fin
|
Cette primitive permet de remplir une forme en utilisant une série de triangles. A chaque nouvelle ligne tracée, un
triangle est rempli. La liste passée en argument contient les instructions assurant le découpage en triangles de la
forme désirée.