Sperimenta con
- il numero di punte della stella (nVERTICI)
- il numero di chiodini (nCHIODI) per ogni striscia
- il salto tra un vertice e l’altro (SALTO)
'------------------------------------------------------------------- Finestra DIM =800 DIM2=DIM/2 GraphicsWindow.Width =DIM GraphicsWindow.Height=DIM GraphicsWindow.Title ="Unisci i punti" '------------------------------------------------------------------- COSTANTI nVERTICI=60 ' Numero vertici nCHIODI =25 ' Numero chiodini SALTO =20 ' Salto tra le strisce RITARDO1=5 ' Ritardo tra una coppia e l'altra RITARDO2=1 ' Ritardo per ogni filo spazio=25 RAGGIO=dim2-SPAZIO '------------------------------------------------------------------- VERTICI delta=2*Math.Pi/nVERTICI angolo=Math.Pi/2 For i=1 TO nVERTICI verticiX[i]=DIM2+RAGGIO*Math.Cos(angolo) verticiY[i]=DIM2-RAGGIO*Math.Sin(angolo) angolo=angolo+delta ENDFOR '------------------------------------------------------------------- COSTRUZIONE For i=1 to nVERTICI i1=i+SALTO If(i1 > nVERTICI)then i1=i1-nVERTICI endif barra1Ax=verticiX[i] barra1Ay=verticiY[i] barra1Bx=DIM2 barra1By=DIM2 barra2Ax=DIM2 barra2Ay=DIM2 barra2Bx=verticiX[i1] barra2By=verticiY[i1] STRISCE() CHIODI() FILI() EndFor '--------------------------------------------------------------------- FUNZIONI Sub STRISCE GraphicsWindow.PenWidth=3 GraphicsWindow.PenColor=GraphicsWindow.GetRandomColor() GraphicsWindow.PenColor="#330000FF" GraphicsWindow.DrawLine(barra1Ax,barra1Ay, barra1Bx,barra1By) GraphicsWindow.DrawLine(barra2Ax,barra2Ay, barra2Bx,barra2By) Program.Delay(RITARDO1) EndSub '------------------------------------------------------------------- Sub CHIODI delta1=1/nCHIODI delta2=delta1/2 deltaA=1-delta2 deltaB=delta2 For j=1 To nCHIODI Chiodi1X[j]=deltaA*barra1Ax+deltaB*barra1Bx Chiodi1Y[j]=deltaA*barra1Ay+deltaB*barra1By Chiodi2X[j]=deltaA*barra2Ax+deltaB*barra2Bx Chiodi2Y[j]=deltaA*barra2Ay+deltaB*barra2By deltaA=deltaA-delta1 deltaB=deltaB+delta1 EndFor raggio=2 diametro=2*raggio GraphicsWindow.BrushColor="#66000000" For j=1 To nCHIODI GraphicsWindow.FillEllipse(Chiodi1X[j]-raggio, Chiodi1Y[j]-raggio, diametro, diametro) GraphicsWindow.FillEllipse(Chiodi2X[j]-raggio, Chiodi2Y[j]-raggio, diametro, diametro) EndFor Program.Delay(RITARDO1) EndSub '------------------------------------------------------------------- Sub FILI GraphicsWindow.PenWidth=1 c=GraphicsWindow.GetRandomColor() GraphicsWindow.PenColor="#66000033" For j=1 To nCHIODI GraphicsWindow.DrawLine(Chiodi1X[j], Chiodi1Y[j], Chiodi2X[j], Chiodi2Y[j]) Program.Delay(RITARDO2) EndFor EndSub
Esperimento 1
nVERTICI=25 nCHIODI =25 SALTO =4
Esperimento 2
nVERTICI=60 nCHIODI =12 SALTO =12