Considérons une éponge de menger d’ordre n dont le côté mesure L.
![]() |
Le schéma montre bien que cette éponge est constitué en fait de 20 éponges de Menger d’ordre n− 1 ayant
chacune un côté de
. La structure récursive de l’éponge est ainsi mise en évidence.
Le programme :
# Commande principale: eponge 3
pour cube :l
si :compteur=10000 [vue3d]
# Couleur des faces latérales
soit "couleurs [jaune magenta cyan bleu]
# faces latérales
repete 4 [fcc exec item compteur :couleurs carre :l td 90 av :l tg 90 rd 90]
# Dessous
fcc rouge pique 90 carre :l cabre 90
av :l pique 90 fcc vert carre :l cabre 90 re :l
fin
pour carre :c
donne "compteur :compteur+1
polydef
repete 4 [av :c td 90]
polyfin
fin
# Eponde de Menger
# p: profondeur de récursivité
# l: Longueur du grand cube.
pour menger :l :p
si :p=0 [cube :l] [
soit "p :p-1
soit "l :l/3
#face avant
repete 3 [menger :l :p av :l] re 3*:l
td 90 av :l tg 90
menger :l :p av 2*:l menger :l :p re 2*:l
td 90 av :l tg 90
repete 3 [menger :l :p av :l] re 3*:l
#Côté droit
pique 90 av :l cabre 90
menger :l :p av 2*:l menger :l :p re 2*:l
pique 90 av :l cabre 90
repete 3 [menger :l :p av :l] re 3*:l
tg 90 av :l td 90
menger :l :p av 2*:l menger :l :p re 2*:l
tg 90 av :l td 90
repete 3 [menger :l :p av :l] re 3*:l
pique 90 re :l cabre 90
menger :l :p av 2*:l menger :l :p re 2*:l
pique 90 re :l cabre 90
]
fin
pour eponge :p
ve ct donne "compteur 0 perspective fcfg 0 menger 800 :p
tape [Nombre de polygone: ] ec :compteur
vue3d
fin
|
Ce programme comprend quatre procédures :