Triangle de Sierpinski

Post date: Jun 9, 2017 11:17:36 PM

L'avantage de Géotortue c'est qu'on peut modéliser la 3D , en revanche sur Scratch il faudra se contenter du plan...

https://sites.google.com/site/stjomaths/scratch/_draft_post/logo_geotortue.PNG

Vous êtes libre d'utiliser Geotortue pour faire de l'algorithmique ! et de plus çà vous apprend à "pisser du code" contrairement à Scratch.

Bref à venir prochainement des modélisations de l'éponge de Menger

pyramide de Sierpinski avec geotortue! ceci est une modélisation avant de vous lancer dans la construction de la pyramide à l'aide de tickets de métro: https://www.youtube.com/watch?v=jvTlRkaNaQY

pour Sierpinski l n

si (n!=0) alors [ rep 3 [ Sierpinski l/2 n-1 ; base l; av 2*l; td 120; ]

tg 30;pvh acos(1/3); td 30; av 2*l;tg 30; pvb acos(1/3); td 30;

Sierpinski l/2 n-1 ;base l;

pvb 90; av l*√(24)/3; pvh 90; tg 90; av l*√(3)/3;td 90; re l;

re 2*l

]

fin

pour base longueur

rep 3 [ tetra longueur; av 2*longueur; td 120; ]

tg 30;pvh acos(1/3); td 30; av longueur;tg 30; pvb acos(1/3); td 30;

tetra longueur;

tg 30;pvh acos(1/3); td 30; av longueur;tg 30; pvb acos(1/3); td 30;

pvb 90; av longueur*√(24)/3; pvh 90; tg 90; av longueur*√(3)/3;td 90; re longueur;

av 2*longueur;

fin

pour tetra longueur

bc

triangle longueur;

tg 30;pvh acos(1/3); td 30;

triangle longueur;

tg 30; pvb acos(1/3);td 30; av longueur;td 120

tg 30;pvh acos(1/3); td 30;

triangle longueur;

tg 30; pvb acos(1/3);td 30; av longueur; td 120

tg 30;pvh acos(1/3); td 30;

triangle longueur;

tg 30; pvb acos(1/3);td 30; av longueur;td 120

lc

fin

pour triangle c

rep 3 [ av c; td 120 ]

fin

En voila un qui va faire des petits :)

Motif triangle en 2D

pour triangle c

rep 3 [ av c; td 120 ]

fin


pour tetra longueur

crayon bleu;

remplis triangle longueur;

tg 30;pvh acos(1/3); td 30;

crayon vert;

remplis triangle longueur;

tg 30; pvb acos(1/3);td 30; av longueur;td 120

crayon rouge;

tg 30;pvh acos(1/3); td 30;

remplis triangle longueur;

tg 30; pvb acos(1/3);td 30; av longueur; td 120

crayon jaune;

tg 30;pvh acos(1/3); td 30;

remplis triangle longueur;

tg 30; pvb acos(1/3);td 30; av longueur;td 120

fin



pour base longueur

rep 3 [ tetra longueur; av 2*longueur; td 120; ]

tg 30;pvh acos(1/3); td 30; av longueur;tg 30; pvb acos(1/3); td 30;

tetra longueur;

tg 30;pvh acos(1/3); td 30; av longueur;tg 30; pvb acos(1/3); td 30;

pvb 90; av longueur*√(24)/3; pvh 90; tg 90; av longueur*√(3)/3;td 90; re longueur;

fin


pour Sierpinski l n

si (n!=0) alors [ rep 3 [ Sierpinski l/2 n-1 ; av l ; td 120 ] ]

fin

Motif 3D en couleur

pour triangle c

rep 3 [ av c; td 120 ]

fin


pour tetra longueur

crayon bleu;

remplis triangle longueur;

tg 30;pvh acos(1/3); td 30;

crayon vert;

remplis triangle longueur;

tg 30; pvb acos(1/3);td 30; av longueur;td 120

crayon rouge;

tg 30;pvh acos(1/3); td 30;

remplis triangle longueur;

tg 30; pvb acos(1/3);td 30; av longueur; td 120

crayon jaune;

tg 30;pvh acos(1/3); td 30;

remplis triangle longueur;

tg 30; pvb acos(1/3);td 30; av longueur;td 120

fin



pour base longueur

rep 3 [ tetra longueur; av 2*longueur; td 120; ]

tg 30;pvh acos(1/3); td 30; av longueur;tg 30; pvb acos(1/3); td 30;

tetra longueur;

tg 30;pvh acos(1/3); td 30; av longueur;tg 30; pvb acos(1/3); td 30;

pvb 90; av longueur*√(24)/3; pvh 90; tg 90; av longueur*√(3)/3;td 90; re longueur;

av 2*longueur;

fin




pour programme longueur

vg;

rep 3 [ rep 3 [ base longueur; av 2*longueur; td 120; ]

tg 30;pvh acos(1/3); td 30; av 2*longueur;tg 30; pvb acos(1/3); td 30;

base longueur;

pvb 90; av longueur*√(24)/3; pvh 90; tg 90; av longueur*√(3)/3;td 90; re longueur;

av 2*longueur;td 120;av 4*longueur; ]

av 4*longueur; td 150; pvh acos(1/√(3));av 4*longueur; pvb acos(1/√(3)); tg 30;

rep 3 [ base longueur; av 2*longueur; td 120; ]

tg 30;pvh acos(1/3); td 30; av 2*longueur;tg 30; pvb acos(1/3); td 30;

base longueur;

fin


Mode 3D noir et blanc (commande: Sierpinski 100 7 )

pour triangle c

rep 3 [ av c; td 120 ]

fin


pour tetra longueur

bc

triangle longueur;

tg 30;pvh acos(1/3); td 30;

triangle longueur;

tg 30; pvb acos(1/3);td 30; av longueur;td 120

tg 30;pvh acos(1/3); td 30;

triangle longueur;

tg 30; pvb acos(1/3);td 30; av longueur; td 120

tg 30;pvh acos(1/3); td 30;

triangle longueur;

tg 30; pvb acos(1/3);td 30; av longueur;td 120

lc

fin



pour base longueur

rep 3 [ tetra longueur; av 2*longueur; td 120; ]

tg 30;pvh acos(1/3); td 30; av longueur;tg 30; pvb acos(1/3); td 30;

tetra longueur;

tg 30;pvh acos(1/3); td 30; av longueur;tg 30; pvb acos(1/3); td 30;

pvb 90; av longueur*√(24)/3; pvh 90; tg 90; av longueur*√(3)/3;td 90; re longueur;

av 2*longueur;

fin




pour Sierpinski l n

si (n!=0) alors [ rep 3 [ Sierpinski l/2 n-1 ; base l; av 2*l; td 120; ]

tg 30;pvh acos(1/3); td 30; av 2*l;tg 30; pvb acos(1/3); td 30;

Sierpinski l/2 n-1 ;base l;

pvb 90; av l*√(24)/3; pvh 90; tg 90; av l*√(3)/3;td 90; re l;

re 2*l]



fin