Vai al contenuto

Unisci i punti – 1

Considera due strisce disposte a formare un angolo retto.
Su ogni striscia ci sono 50 chiodini a distanza fissa.

'------------------------------------------------------------------- Finestra
DIM =800
DIM2=DIM/2

GraphicsWindow.Width =DIM
GraphicsWindow.Height=DIM
GraphicsWindow.Title ="Unisci i punti..."
'------------------------------------------------------------------- COSTANTI
spazio =50
nCHIODI=50
RITARDO=50
'------------------------------------------------------------------- STRISCE
barra1Ax=spazio     ' NORD
barra1Ay=spazio
barra1Bx=spazio     ' SUD
barra1By=DIM-spazio
barra2Ax=spazio     ' SUD 
barra2Ay=DIM-spazio
barra2Bx=DIM-spazio ' EST
barra2By=DIM-spazio

STRISCE()
CHIODI()
'--------------------------------------------------------------------- FUNZIONI
Sub STRISCE
  GraphicsWindow.PenWidth=10
  GraphicsWindow.PenColor="#330000FF"
  GraphicsWindow.DrawLine(barra1Ax,barra1Ay, barra1Bx,barra1By)
  GraphicsWindow.DrawLine(barra2Ax,barra2Ay, barra2Bx,barra2By)
EndSub
'--------------------------------------------------------------------- 
Sub CHIODI
  delta1=1/nCHIODI
  delta2=delta1/2
  deltaA=1-delta2
  deltaB=delta2
  For i=1 To nCHIODI                            ' POSIZIONI
    Chiodi1X[i]=deltaA*barra1Ax+deltaB*barra1Bx
    Chiodi1Y[i]=deltaA*barra1Ay+deltaB*barra1By
    Chiodi2X[i]=deltaA*barra2Ax+deltaB*barra2Bx
    Chiodi2Y[i]=deltaA*barra2Ay+deltaB*barra2By
    deltaA=deltaA-delta1
    deltaB=deltaB+delta1
  EndFor

  raggio=2
  diametro=2*raggio
  GraphicsWindow.BrushColor="black"
  For i=1 To nCHIODI                             ' DISEGNO
    GraphicsWindow.FillEllipse(Chiodi1X[i]-raggio, Chiodi1Y[i]-raggio, diametro, diametro)
    GraphicsWindow.FillEllipse(Chiodi2X[i]-raggio, Chiodi2Y[i]-raggio, diametro, diametro) 
    Program.Delay(RITARDO)
  EndFor 
EndSub

Unisci i punti con del filo…

'------------------------------------------------------------------- Finestra
DIM =800
DIM2=DIM/2

GraphicsWindow.Width =DIM
GraphicsWindow.Height=DIM
GraphicsWindow.Title ="Unisci i punti..."
'------------------------------------------------------------------- COSTANTI
spazio =50
nCHIODI=50
RITARDO1=500
RITARDO2=50
'------------------------------------------------------------------- COSTRUZIONE
barra1Ax=spazio
barra1Ay=spazio
barra1Bx=spazio
barra1By=DIM-spazio

barra2Ax=spazio                              
barra2Ay=DIM-spazio
barra2Bx=DIM-spazio
barra2By=DIM-spazio

STRISCE()
CHIODI()
FILI()
'--------------------------------------------------------------------- FUNZIONI
Sub STRISCE
  GraphicsWindow.PenWidth=10
  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 i=1 To nCHIODI
    Chiodi1X[i]=deltaA*barra1Ax+deltaB*barra1Bx
    Chiodi1Y[i]=deltaA*barra1Ay+deltaB*barra1By
    Chiodi2X[i]=deltaA*barra2Ax+deltaB*barra2Bx
    Chiodi2Y[i]=deltaA*barra2Ay+deltaB*barra2By
    deltaA=deltaA-delta1
    deltaB=deltaB+delta1
  EndFor
  
  raggio=2
  diametro=2*raggio
  GraphicsWindow.BrushColor="black"
  For i=1 To nCHIODI
    GraphicsWindow.FillEllipse(Chiodi1X[i]-raggio, Chiodi1Y[i]-raggio, diametro, diametro)
    GraphicsWindow.FillEllipse(Chiodi2X[i]-raggio, Chiodi2Y[i]-raggio, diametro, diametro)    
  EndFor
  Program.Delay(RITARDO1)
EndSub  
'------------------------------------------------------------------- 
Sub FILI
  GraphicsWindow.PenWidth=2
  GraphicsWindow.PenColor="#66000000"
  For i=1 To nCHIODI
    GraphicsWindow.DrawLine(Chiodi1X[i], Chiodi1Y[i], Chiodi2X[i], Chiodi2Y[i])
    Program.Delay(RITARDO2)
  EndFor
EndSub

Continua…

Lascia un commento

Il tuo indirizzo email non sarĂ  pubblicato. I campi obbligatori sono contrassegnati *

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.