Il triangolo di Sierpinski con n da 1 a 6 e dimensione=300
Con n=7 e dimensione=600 (aspetta qualche minuto…)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
GLOBAL r3 r3=SQRT(3) TO tria n x y d ; n=livello, x=colonna, y=riga, d=dimensione GLOBAL r3 IF n == 1 [ PENUP POSITION [x,y] HEADING 30 PENDOWN REPEAT 3 [ FORWARD d RIGHT 120 ] FILL ][ d2=d/2 d4=d/4 h2=r3*d4 tria(n-1, x , y , d2) tria(n-1, x+d4, y-h2, d2) tria(n-1, x+d2, y , d2) ] END CLEARSCREEN HOME HIDETURTLE PICTURE [ tria(7, POSITION[0], POSITION[1], 600) ] |
Centro
Nel codice precedente (x,y) è l’angolo in basso a sinistra.
Con alcune modifiche (x,y) diventa il centro del triangolo
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
GLOBAL r3 r3=SQRT(3) TO tria n x y d GLOBAL r3 d2=d/2 d4=d/4 h2=r3*d4 h4=h2/2 IF n == 1 [ PENUP POSITION [x-d2,y+h2] HEADING 30 PENDOWN REPEAT 3 [ FORWARD d RIGHT 120 ] FILL ][ tria(n-1, x-d4, y+h4, d2) tria(n-1, x , y-h4, d2) tria(n-1, x+d4, y+h4, d2) ] END CLEARSCREEN HOME HIDETURTLE PICTURE [ tria(7, POSITION[0], POSITION[1], 500) ] |
Vedi