Considera i tre punti nel piano
Utilizzeremo le regole dal Chaos game per realizzare il triangolo di Sierpinski.
Week 9 – Advanced Challenge
Write a program to draw the Sierpinski Triangle fractal
shown below.
There are various algorithms that can be used.
See http://en.wikipedia.org/wiki/Sierpinski_triangle for more information and possible algorithms.
Fissa la posizione iniziale, per esempio in alto a sinistra, e lancia il gioco.
La regola per saltare è: metà della distanza tra i due punti.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
DIM =800 spazio=50 GraphicsWindow.Width =DIM GraphicsWindow.Height=DIM GraphicsWindow.Title ="Triangolo di Sierpinski" x[1]=spazio y[1]=spazio x[2]=spazio y[2]=DIM-spazio x[3]=DIM-spazio y[3]=DIM-spazio GraphicsWindow.BrushColor="#99FFFF00" For i=1 To 3 GraphicsWindow.FillEllipse(x[i]-10,y[i]-10,20,20) EndFor xx=x[1] yy=y[1] While "true" rand=Math.GetRandomNumber(3) xx=(xx+x[rand])/2 yy=(yy+y[rand])/2 GraphicsWindow.SetPixel(xx, yy, "#000000") EndWhile |
Prova a ottenere altre figure notevoli introducendo delle modifiche.
Aggiungendo un 4° punto al centro la trama si infittisce
1 2 3 4 5 6 7 8 |
... x[4]=DIM/2 y[4]=DIM/2 ... For i=1 To 4 ... rand=Math.GetRandomNumber(4) ... |
Sposta il 4° punto in alto a destra
1 2 3 4 5 6 7 8 9 10 |
... x[1]=spazio y[1]=spazio x[2]=DIM-spazio y[2]=spazio x[3]=spazio y[3]=DIM-spazio x[4]=DIM-spazio y[4]=DIM-spazio ... |
Si ottiene il caos, non si riconosce una figura notevole.
Con 5 punti nel caos si intravede una figura familiare…