Il triangolo di Sierpinski con n da 1 a 6 e dimensione=300
Con n=7 e dimensione=600 (aspetta qualche minuto…)
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
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: numbertext.org/logo > http://numbertext.org/logo/posters/Sierpinski.pdf