Novità

10elotto

4881.PNG

Ba 59.85 . rit.11
Ca 59.85 . rit.961
Fi 59.85 . rit.630
Ge 59.85 . rit.553
Mi 59.85 . rit.248
Na 59.85 . rit.1044
Pa 59.85 . rit.100
Ro 59.85 . rit.64
To 59.85 . rit.436
Ve 59.85 . rit.142
Tutte 59.85 . rit.11
Naz 59.85 . rit.789

nadin la ruota con il maggior rit e napoli
ho notato in questa estr che ce un triangolo che calcola il 59 a Pa e To
piu tardi vedrò di mettere il disegno e vediamo che abb scegliere con il 59
 
Codice:
Option Explicit
Class clsCerchioCiclometrico
   Dim aPos(90,2) ' memorizza le coordinate relative ai 90 numeri
   Private CollCorde
   Sub DisegnaCerchioCiclometricoX(aNumeri,aCorde)
      Dim nRaggio ' raggio ddel cerchio
      Dim cX,cY ' centro del cerchio x e y
      Dim Base,Altezza ' dimensioni area disegno
      Dim Angolo ' gestisce il ciclo per disegnare il cerchio
      Dim pi ' pigreco
      Dim x1,y1,x2,y2 ' coordinate generiche pr i segmenti
      Dim cLung ' distanza per stampare i gradi
      Dim k ' ciclo generico
      Dim n
      Dim z
      Call PicClear
      Set CollCorde = GetNewCollection
      cLung = 2
      pi = 3.14
      Base = 150
      Altezza = 150
      nRaggio = 60
      ' preimposto le dimensioni dell'area
      Call PicSetDimensioni(Base,Altezza,Base,Altezza)
      ' calcolo il centro del cerchio
      cX = Base / 2
      cY = Altezza / 2
      Call PicCerchio(cX,cY,nRaggio)
      Angolo = 360
      n = 20 '<---------------------------------
      ' ciclo per disegnare i semiraggi
      For z = 90 To 450 Step 36 '<----------------------------------
         Angolo = FuoriX(z,360)
         ' calcolo cordinate per il segmento raggio
         x1 = cX +((nRaggio) * Cos(- Angolo *(pi / 180)))
         y1 = cY +((nRaggio) * Sin(- Angolo *(pi / 180)))
         ' memorizzo nell'array globale le coordinate appena calcolate
         ' cosi potranno essere riusate per disegnare le corde
         n = n - 1
         aPos(n,1) = x1
         aPos(n,2) = y1
         If n Mod 10 = 0 Or n Mod 10 = 1 Or n Mod 10 = 2 Or n Mod 10 = 3 Or n Mod 10 = 4 Or n Mod 10 = 5 Or n Mod 10 = 6 Or n Mod 10 = 7 Or n Mod 10 = 8 Or n Mod 10 = 9 Then '<--------------------------
            ' ogni 5 gradi disegno un semiraggio un po' piu lungo
            ' e stampo i gradi in corripondenza
            x2 = cX +((nRaggio + cLung*3) * Cos(- Angolo *(pi / 180)))
            y2 = cY +((nRaggio + cLung*3) * Sin(- Angolo *(pi / 180)))
            Call PicLinea(x1,y1,x2,y2)
            x2 = cX +((nRaggio + cLung*4) * Cos(-(Angolo + 2) *(pi / 180)))
            y2 = cY +((nRaggio + cLung*4) * Sin(-(Angolo + 2) *(pi / 180)))
            Call PicStampaTestoRT(x2,y2,n,Angolo)
         Else
            ' disegno il semiraggio
            x2 = cX +((nRaggio + cLung) * Cos(- Angolo *(pi / 180)))
            y2 = cY +((nRaggio + cLung) * Sin(- Angolo *(pi / 180)))
            Call PicLinea(x1,y1,x2,y2)
            x2 = cX +((nRaggio + cLung) * Cos(-(Angolo + 2) *(pi / 180)))
            y2 = cY +((nRaggio + cLung) * Sin(-(Angolo + 2) *(pi / 180)))
            Call PicStampaTestoRT(x2,y2,n,Angolo)
         End If
         If n = 10 Then Exit For
      Next
      Call DisegnaFigura(aNumeri)
      Call DisegnaDistanze(aCorde)
      ' mostro la figura in output
      Call PicEsegui
   End Sub
   Private Sub DisegnaFigura(aNum)
      Dim k
      For k = 1 To UBound(aNum)
         Call DisegnaCorda(aNum(k),aNum(FuoriX(k + 1,UBound(aNum))),vbRed,True,False)
      Next
   End Sub
   Private Sub DisegnaDistanze(aCorde)
      Dim k
      For k = 1 To UBound(aCorde)
         Call DisegnaCorda(aCorde(k,1),aCorde(k,2),vbBlue,True,True)
      Next
   End Sub
   Private Sub DisegnaCorda(p1,p2,colore,bDisegnaDist,bLineaTratt)
      Dim nX,nY,sDist
      ' p1 e p2 sono i gradi a cui si riferiscono inizio e fine della corda
      'Call PicLineaTratteggiata(aPos(p1,1),aPos(p1,2),aPos(p2,1),aPos(p2,2),colore)
      If AddCorda(p1,p2) Then
         If bLineaTratt Then
            Call PicLineaTratteggiata(aPos(p1,1),aPos(p1,2),aPos(p2,1),aPos(p2,2),colore)
         Else
            Call PicLinea(aPos(p1,1),aPos(p1,2),aPos(p2,1),aPos(p2,2),colore)
         End If
         Call PicPunto(aPos(p1,1),aPos(p1,2),6,colore)
         Call PicPunto(aPos(p2,1),aPos(p2,2),6,colore)
         If bDisegnaDist Then
            If aPos(p1,1) > aPos(p2,1) Then
               nX =(aPos(p1,1) - aPos(p2,1)) / 2 + aPos(p2,1)
            Else
               nX =(aPos(p2,1) - aPos(p1,1)) / 2 + aPos(p1,1)
            End If
            If aPos(p1,2) > aPos(p2,2)Then
               nY =(aPos(p1,2) - aPos(p2,2)) / 2 + aPos(p2,2)
            Else
               nY =(aPos(p2,2) - aPos(p1,2)) / 2 + aPos(p1,2)
            End If
            Call PicCerchio(nX,nY,3,vbBlack,,True,vbYellow)
            nX = nX - 1.5
            nY = nY - 1.5
            sDist = Format2(Distanza(p1,p2))
            Call PicStampaTesto(nX,nY,sDist)
         End If
      End If
   End Sub
   Private Function AddCorda(n1,n2)
      Dim sKey
      If n1 <= n2 Then
         sKey = "k" & Format2(n1) & Format2(n2)
      Else
         sKey = "k" & Format2(n2) & Format2(n1)
      End If
      On Error Resume Next
      CollCorde.Add sKey,sKey
      If Err = 0 Then
         AddCorda = True
      End If
   End Function
End Class
Sub Main
   Dim clsCerchio
   Dim k,v,x,qt
   Dim aCorde
   'v = InputBox("Quale ruota vuoi controllare?",,0)
   'x = InputBox("Quante estrazioni vuoi controllare?",,0)
   'For v = 1 To 10
   ' prendo i numeri dell'ultima estrazione di bari
   ' disegno cerchio ciclometrico , figura dei numeri estratti , diagonali con distanze
   ReDim aNum(0)
   qt = ScegliNumeri(aNum)
   Call OrdinaMatrice(aNum,1)
   qt = UBound(aNum)
   ' le corde sono le distanze interne e sono
   ' considerate tutte le coppie di vertici
   aCorde = SviluppoIntegrale(aNum,2)
   Set clsCerchio = New clsCerchioCiclometrico
   Call clsCerchio.DisegnaCerchioCiclometricoX(aNum,aCorde)
   'Scrivi(DataEstrazione(EstrazioneFin - x)),0,0,1,3,4
   'Scrivi
   'Scrivi NomeRuota(v),0,0,1,3,4
   Scrivi StringaNumeri(aNum)
   ' II° Esempio
   ' dissegno una figura arbitraria
   'Next
End Sub

questo script disegna un cerchio a 10 numeri da 10 a 19
per disegnare altri numeri si deve fare una modifica sullo script..

1) cerchio da 10 a 19
2) .............. da 20 a 29
3) .............. da 30 a 39
4) .............. da 40 a 49
5) .............. da 50 a 59
6) .............. da 60 a 69
7) .............. da 70 a 79
8) .............. da 80 a 89
9) .............. da 90 a 09

10.11.12.13.14.15.16.17.18.19
 
Ultima modifica:
Codice:
Option Explicit
Class clsCerchioCiclometrico
   Dim aPos(90,2) ' memorizza le coordinate relative ai 90 numeri
   Private CollCorde
   Sub DisegnaCerchioCiclometricoX(aNumeri,aCorde)
      Dim nRaggio ' raggio ddel cerchio
      Dim cX,cY ' centro del cerchio x e y
      Dim Base,Altezza ' dimensioni area disegno
      Dim Angolo ' gestisce il ciclo per disegnare il cerchio
      Dim pi ' pigreco
      Dim x1,y1,x2,y2 ' coordinate generiche pr i segmenti
      Dim cLung ' distanza per stampare i gradi
      Dim k ' ciclo generico
      Dim n
      Dim z
      Call PicClear
      Set CollCorde = GetNewCollection
      cLung = 2
      pi = 3.14
      Base = 150
      Altezza = 150
      nRaggio = 60
      ' preimposto le dimensioni dell'area
      Call PicSetDimensioni(Base,Altezza,Base,Altezza)
      ' calcolo il centro del cerchio
      cX = Base / 2
      cY = Altezza / 2
      Call PicCerchio(cX,cY,nRaggio)
      Angolo = 360
      n = 30 '<---------------------------------
      ' ciclo per disegnare i semiraggi
      For z = 90 To 450 Step 36 '<----------------------------------
         Angolo = FuoriX(z,360)
         ' calcolo cordinate per il segmento raggio
         x1 = cX +((nRaggio) * Cos(- Angolo *(pi / 180)))
         y1 = cY +((nRaggio) * Sin(- Angolo *(pi / 180)))
         ' memorizzo nell'array globale le coordinate appena calcolate
         ' cosi potranno essere riusate per disegnare le corde
         n = n - 1
         aPos(n,1) = x1
         aPos(n,2) = y1
         If n Mod 10 = 0 Or n Mod 10 = 1 Or n Mod 10 = 2 Or n Mod 10 = 3 Or n Mod 10 = 4 Or n Mod 10 = 5 Or n Mod 10 = 6 Or n Mod 10 = 7 Or n Mod 10 = 8 Or n Mod 10 = 9 Then '<--------------------------
            ' ogni 5 gradi disegno un semiraggio un po' piu lungo
            ' e stampo i gradi in corripondenza
            x2 = cX +((nRaggio + cLung*3) * Cos(- Angolo *(pi / 180)))
            y2 = cY +((nRaggio + cLung*3) * Sin(- Angolo *(pi / 180)))
            Call PicLinea(x1,y1,x2,y2)
            x2 = cX +((nRaggio + cLung*4) * Cos(-(Angolo + 2) *(pi / 180)))
            y2 = cY +((nRaggio + cLung*4) * Sin(-(Angolo + 2) *(pi / 180)))
            Call PicStampaTestoRT(x2,y2,n,Angolo)
         Else
            ' disegno il semiraggio
            x2 = cX +((nRaggio + cLung) * Cos(- Angolo *(pi / 180)))
            y2 = cY +((nRaggio + cLung) * Sin(- Angolo *(pi / 180)))
            Call PicLinea(x1,y1,x2,y2)
            x2 = cX +((nRaggio + cLung) * Cos(-(Angolo + 2) *(pi / 180)))
            y2 = cY +((nRaggio + cLung) * Sin(-(Angolo + 2) *(pi / 180)))
            Call PicStampaTestoRT(x2,y2,n,Angolo)
         End If
         If n = 20 Then Exit For
      Next
      Call DisegnaFigura(aNumeri)
      Call DisegnaDistanze(aCorde)
      ' mostro la figura in output
      Call PicEsegui
   End Sub
   Private Sub DisegnaFigura(aNum)
      Dim k
      For k = 1 To UBound(aNum)
         Call DisegnaCorda(aNum(k),aNum(FuoriX(k + 1,UBound(aNum))),vbRed,True,False)
      Next
   End Sub
   Private Sub DisegnaDistanze(aCorde)
      Dim k
      For k = 1 To UBound(aCorde)
         Call DisegnaCorda(aCorde(k,1),aCorde(k,2),vbBlue,True,True)
      Next
   End Sub
   Private Sub DisegnaCorda(p1,p2,colore,bDisegnaDist,bLineaTratt)
      Dim nX,nY,sDist
      ' p1 e p2 sono i gradi a cui si riferiscono inizio e fine della corda
      'Call PicLineaTratteggiata(aPos(p1,1),aPos(p1,2),aPos(p2,1),aPos(p2,2),colore)
      If AddCorda(p1,p2) Then
         If bLineaTratt Then
            Call PicLineaTratteggiata(aPos(p1,1),aPos(p1,2),aPos(p2,1),aPos(p2,2),colore)
         Else
            Call PicLinea(aPos(p1,1),aPos(p1,2),aPos(p2,1),aPos(p2,2),colore)
         End If
         Call PicPunto(aPos(p1,1),aPos(p1,2),6,colore)
         Call PicPunto(aPos(p2,1),aPos(p2,2),6,colore)
         If bDisegnaDist Then
            If aPos(p1,1) > aPos(p2,1) Then
               nX =(aPos(p1,1) - aPos(p2,1)) / 2 + aPos(p2,1)
            Else
               nX =(aPos(p2,1) - aPos(p1,1)) / 2 + aPos(p1,1)
            End If
            If aPos(p1,2) > aPos(p2,2)Then
               nY =(aPos(p1,2) - aPos(p2,2)) / 2 + aPos(p2,2)
            Else
               nY =(aPos(p2,2) - aPos(p1,2)) / 2 + aPos(p1,2)
            End If
            Call PicCerchio(nX,nY,3,vbBlack,,True,vbYellow)
            nX = nX - 1.5
            nY = nY - 1.5
            sDist = Format2(Distanza(p1,p2))
            Call PicStampaTesto(nX,nY,sDist)
         End If
      End If
   End Sub
   Private Function AddCorda(n1,n2)
      Dim sKey
      If n1 <= n2 Then
         sKey = "k" & Format2(n1) & Format2(n2)
      Else
         sKey = "k" & Format2(n2) & Format2(n1)
      End If
      On Error Resume Next
      CollCorde.Add sKey,sKey
      If Err = 0 Then
         AddCorda = True
      End If
   End Function
End Class
Sub Main
   Dim clsCerchio
   Dim k,v,x,qt
   Dim aCorde
   'v = InputBox("Quale ruota vuoi controllare?",,0)
   'x = InputBox("Quante estrazioni vuoi controllare?",,0)
   'For v = 1 To 10
   ' prendo i numeri dell'ultima estrazione di bari
   ' disegno cerchio ciclometrico , figura dei numeri estratti , diagonali con distanze
   ReDim aNum(0)
   qt = ScegliNumeri(aNum)
   Call OrdinaMatrice(aNum,1)
   qt = UBound(aNum)
   ' le corde sono le distanze interne e sono
   ' considerate tutte le coppie di vertici
   aCorde = SviluppoIntegrale(aNum,2)
   Set clsCerchio = New clsCerchioCiclometrico
   Call clsCerchio.DisegnaCerchioCiclometricoX(aNum,aCorde)
   'Scrivi(DataEstrazione(EstrazioneFin - x)),0,0,1,3,4
   'Scrivi
   'Scrivi NomeRuota(v),0,0,1,3,4
   Scrivi StringaNumeri(aNum)
   ' II° Esempio
   ' dissegno una figura arbitraria
   'Next
End Sub

questo script disegna un cerchio a 10 numeri da 20 a 29

20.21.22.23.24.25.26.27.28.29
 
4882.png

ciao Armaus ho fatto questo disegno con il 59
allora qui abbiamo diverse soluzioni di gioco per ambo..
il 59 si puo abbinare con 11 o 41 oppure con 71..
invece con la quadratura delle somme abbiamo il 59 09 a tutte

allora per stasera proviamo queste previsioni

59 09 a MI E VE (TT)
59 11 a MI PA TO (TT)

il gioco a tutte si puo giocare solo chi si puo permettere di giocare a tutte
chi a pochi soldi deve giocare solo sulle ruote di gioco..ok
in bocca al lupo

nadin questi sono i miei triangoli sulle estrazioni...
 
Ultima modifica:
Codice:
Option Explicit
Class clsCerchioCiclometrico
   Dim aPos(90,2) ' memorizza le coordinate relative ai 90 numeri
   Private CollCorde
   Sub DisegnaCerchioCiclometricoX(aNumeri,aCorde)
      Dim nRaggio ' raggio ddel cerchio
      Dim cX,cY ' centro del cerchio x e y
      Dim Base,Altezza ' dimensioni area disegno
      Dim Angolo ' gestisce il ciclo per disegnare il cerchio
      Dim pi ' pigreco
      Dim x1,y1,x2,y2 ' coordinate generiche pr i segmenti
      Dim cLung ' distanza per stampare i gradi
      Dim k ' ciclo generico
      Dim n
      Dim z
      Call PicClear
      Set CollCorde = GetNewCollection
      cLung = 2.2
      pi = 3.14
      Base = 150
      Altezza = 150
      nRaggio = 60
      ' preimposto le dimensioni dell'area
      Call PicSetDimensioni(Base,Altezza,Base,Altezza)
      ' calcolo il centro del cerchio
      cX = Base / 2
      cY = Altezza / 2
      Call PicCerchio(cX,cY,nRaggio)
      Angolo = 360
      n = 91
      ' ciclo per disegnare i semiraggi
      For z = 90 To 540 Step 4
         Angolo = FuoriX(z,360)
         ' calcolo cordinate per il segmento raggio
         x1 = cX +((nRaggio) * Cos(- Angolo *(pi / 180)))
         y1 = cY +((nRaggio) * Sin(- Angolo *(pi / 180)))
         ' memorizzo nell'array globale le coordinate appena calcolate
         ' cosi potranno essere riusate per disegnare le corde
         n = n - 1
         aPos(n,1) = x1
         aPos(n,2) = y1
         'If n Mod 10 = 0 Then
         'If n Mod 3 = 1 Then '-->scrivi numero distanzanziale esempio 10
         'If n Mod 3 = 2 Then '-->scrivi numero distanzanziale esempio 10
         If n Mod 3 = 0 Then '-->scrivi numero distanzanziale esempio 10
            ' ogni 5 gradi disegno un semiraggio un po' piu lungo
            ' e stampo i gradi in corripondenza
            x2 = cX +((nRaggio + cLung*3) * Cos(- Angolo *(pi / 180)))
            y2 = cY +((nRaggio + cLung*3) * Sin(- Angolo *(pi / 180)))
            Call PicLinea(x1,y1,x2,y2)
            x2 = cX +((nRaggio + cLung*4) * Cos(-(Angolo + 2) *(pi / 180)))
            y2 = cY +((nRaggio + cLung*4) * Sin(-(Angolo + 2) *(pi / 180)))
            Call PicStampaTestoRT(x2,y2,n,Angolo)
         Else
            ' disegno il semiraggio
            x2 = cX +((nRaggio + cLung) * Cos(- Angolo *(pi / 180)))
            y2 = cY +((nRaggio + cLung) * Sin(- Angolo *(pi / 180)))
            Call PicLinea(x1,y1,x2,y2)
            x2 = cX +((nRaggio + cLung) * Cos(-(Angolo + 2) *(pi / 180)))
            y2 = cY +((nRaggio + cLung) * Sin(-(Angolo + 2) *(pi / 180)))
            Call PicStampaTestoRT(x2,y2,n,Angolo)
         End If
         If n = 0 Then Exit For
      Next
      Call DisegnaFigura(aNumeri)
      Call DisegnaDistanze(aCorde)
      ' mostro la figura in output
      Call PicEsegui
   End Sub
   Private Sub DisegnaFigura(aNum)
      Dim k
      For k = 1 To UBound(aNum)
         Call DisegnaCorda(aNum(k),aNum(FuoriX(k + 1,UBound(aNum))),vbRed,True,False)
      Next
   End Sub
   Private Sub DisegnaDistanze(aCorde)
      Dim k
      For k = 1 To UBound(aCorde)
         Call DisegnaCorda(aCorde(k,1),aCorde(k,2),vbBlue,True,True)
      Next
   End Sub
   Private Sub DisegnaCorda(p1,p2,colore,bDisegnaDist,bLineaTratt)
      Dim nX,nY,sDist
      ' p1 e p2 sono i gradi a cui si riferiscono inizio e fine della corda
      'Call PicLineaTratteggiata(aPos(p1,1),aPos(p1,2),aPos(p2,1),aPos(p2,2),colore)
      If AddCorda(p1,p2) Then
         If bLineaTratt Then
            Call PicLineaTratteggiata(aPos(p1,1),aPos(p1,2),aPos(p2,1),aPos(p2,2),colore)
         Else
            Call PicLinea(aPos(p1,1),aPos(p1,2),aPos(p2,1),aPos(p2,2),colore)
         End If
         Call PicPunto(aPos(p1,1),aPos(p1,2),6,colore)
         Call PicPunto(aPos(p2,1),aPos(p2,2),6,colore)
         If bDisegnaDist Then
            If aPos(p1,1) > aPos(p2,1) Then
               nX =(aPos(p1,1) - aPos(p2,1)) / 2 + aPos(p2,1)
            Else
               nX =(aPos(p2,1) - aPos(p1,1)) / 2 + aPos(p1,1)
            End If
            If aPos(p1,2) > aPos(p2,2)Then
               nY =(aPos(p1,2) - aPos(p2,2)) / 2 + aPos(p2,2)
            Else
               nY =(aPos(p2,2) - aPos(p1,2)) / 2 + aPos(p1,2)
            End If
            Call PicCerchio(nX,nY,3,vbBlack,,True,vbYellow)
            nX = nX - 1.5
            nY = nY - 1.5
            sDist = Format2(Distanza(p1,p2))
            Call PicStampaTesto(nX,nY,sDist)
         End If
      End If
   End Sub
   Private Function AddCorda(n1,n2)
      Dim sKey
      If n1 <= n2 Then
         sKey = "k" & Format2(n1) & Format2(n2)
      Else
         sKey = "k" & Format2(n2) & Format2(n1)
      End If
      On Error Resume Next
      CollCorde.Add sKey,sKey
      If Err = 0 Then
         AddCorda = True
      End If
   End Function
End Class
Sub Main
   Dim clsCerchio
   Dim k,v,x,qt
   Dim aCorde
   'v = InputBox("Quale ruota vuoi controllare?",,0)
   x = InputBox("Quante estrazioni vuoi controllare?",,0)
   For v = 1 To 12
      If v = 11 Then v = 12 End If ' con numeri
      ' prendo i numeri dell'ultima estrazione di bari
      ' disegno cerchio ciclometrico , figura dei numeri estratti , diagonali con distanze
      ReDim aNum(0)
      Call GetArrayNumeriRuota(EstrazioneFin - x,v,aNum)' ---->ruota 1
      'qt = ScegliNumeri(aNum)
      'Call OrdinaMatrice(aNum,1)
      'qt = UBound(aNum)
      ' le corde sono le distanze interne e sono
      ' considerate tutte le coppie di vertici
      aCorde = SviluppoIntegrale(aNum,2)
      Set clsCerchio = New clsCerchioCiclometrico
      Call clsCerchio.DisegnaCerchioCiclometricoX(aNum,aCorde)
      Scrivi DataEstrazione((EstrazioneFin - x),1) & "  ",0,0,1,5,4
      Scrivi
      Scrivi SiglaRuota(v) & "  " & StringaNumeri(aNum),0,0,1,5,4
      Scrivi
      ' II° Esempio
      ' dissegno una figura arbitraria
   Next
End Sub

toon Alien di questi script ne ho piu di 200 cento script...
questo script disegna i numeri estratti con il cerchio ciclometrico
con numeri distanziati in tripla figura 3.6.9
se riuscite a modificare lo script potete disegnare anche il cerchio con
numeri distanziati in tripla figura 1.4.7 e in tripla figura 2.5.8
se poi non riuscite a modificare lo script vi metterò gli altri due script..
comunque dovrebbe essere facile..

If n Mod 3 = 1 Then '-->scrivi numeri distanziati in tripla figura 1.4.7
'If n Mod 3 = 2 Then '-->scrivi numeri distanziati in tripla figura 2.5.8
'If n Mod 3 = 0 Then '-->scrivi numeri distanziati in tripla figura 3.6.9
 
Ultima modifica:
4883.png

scusate ragazzi mi sono dimenticato di scrivere il 12 nel triang
e come se il 59 dicesse al 12 spostati di qua che questo posto e mio
e il 12 risponde e io dove mi metto e il 59 risponde mettiti al centro
del triangolo.. :)
ridiamo un po anche se le bollette sono aumentate e chi le paga..
le paghi te Alien..:)

buona fortuna a tutti
 
Ultima modifica:
Ciao a tutti :) Grazie Zetrix per nuovo calcolo "triangolo". Solo che per capire meglio potresti farlo con altra ruota, altri numeri. Perché non capisco proprio bene come ricavi il numero 59 da questo calcolo. Grazie.
 
Codice:
Option Explicit
Class clsCerchioCiclometrico
   Dim aPos(90,2) ' memorizza le coordinate relative ai 90 numeri
   Private CollCorde
   Sub DisegnaCerchioCiclometricoX(aNumeri,aCorde)
      Dim nRaggio ' raggio ddel cerchio
      Dim cX,cY ' centro del cerchio x e y
      Dim Base,Altezza ' dimensioni area disegno
      Dim Angolo ' gestisce il ciclo per disegnare il cerchio
      Dim pi ' pigreco
      Dim x1,y1,x2,y2 ' coordinate generiche pr i segmenti
      Dim cLung ' distanza per stampare i gradi
      Dim k ' ciclo generico
      Dim n
      Dim z
      Call PicClear
      Set CollCorde = GetNewCollection
      cLung = 2.2
      pi = 3.14
      Base = 150
      Altezza = 150
      nRaggio = 60
      ' preimposto le dimensioni dell'area
      Call PicSetDimensioni(Base,Altezza,Base,Altezza)
      ' calcolo il centro del cerchio
      cX = Base / 2
      cY = Altezza / 2
      Call PicCerchio(cX,cY,nRaggio)
      Angolo = 360
      n = 91
      ' ciclo per disegnare i semiraggi
      For z = 90 To 540 Step 4
         Angolo = FuoriX(z,360)
         ' calcolo cordinate per il segmento raggio
         x1 = cX +((nRaggio) * Cos(- Angolo *(pi / 180)))
         y1 = cY +((nRaggio) * Sin(- Angolo *(pi / 180)))
         ' memorizzo nell'array globale le coordinate appena calcolate
         ' cosi potranno essere riusate per disegnare le corde
         n = n - 1
         aPos(n,1) = x1
         aPos(n,2) = y1
         'If n Mod 10 = 0 Then
         'If n Mod 3 = 1 Then '-->scrivi numero distanzanziale esempio 10
         'If n Mod 3 = 2 Then '-->scrivi numero distanzanziale esempio 10
         If n Mod 3 = 0 Then '-->scrivi numero distanzanziale esempio 10
            ' ogni 5 gradi disegno un semiraggio un po' piu lungo
            ' e stampo i gradi in corripondenza
            x2 = cX +((nRaggio + cLung*3) * Cos(- Angolo *(pi / 180)))
            y2 = cY +((nRaggio + cLung*3) * Sin(- Angolo *(pi / 180)))
            Call PicLinea(x1,y1,x2,y2)
            x2 = cX +((nRaggio + cLung*4) * Cos(-(Angolo + 2) *(pi / 180)))
            y2 = cY +((nRaggio + cLung*4) * Sin(-(Angolo + 2) *(pi / 180)))
            Call PicStampaTestoRT(x2,y2,n,Angolo)
         Else
            ' disegno il semiraggio
            x2 = cX +((nRaggio + cLung) * Cos(- Angolo *(pi / 180)))
            y2 = cY +((nRaggio + cLung) * Sin(- Angolo *(pi / 180)))
            Call PicLinea(x1,y1,x2,y2)
            x2 = cX +((nRaggio + cLung) * Cos(-(Angolo + 2) *(pi / 180)))
            y2 = cY +((nRaggio + cLung) * Sin(-(Angolo + 2) *(pi / 180)))
            Call PicStampaTestoRT(x2,y2,n,Angolo)
         End If
         If n = 0 Then Exit For
      Next
      Call DisegnaFigura(aNumeri)
      Call DisegnaDistanze(aCorde)
      ' mostro la figura in output
      Call PicEsegui
   End Sub
   Private Sub DisegnaFigura(aNum)
      Dim k
      For k = 1 To UBound(aNum)
         Call DisegnaCorda(aNum(k),aNum(FuoriX(k + 1,UBound(aNum))),vbRed,True,False)
      Next
   End Sub
   Private Sub DisegnaDistanze(aCorde)
      Dim k
      For k = 1 To UBound(aCorde)
         Call DisegnaCorda(aCorde(k,1),aCorde(k,2),vbBlue,True,True)
      Next
   End Sub
   Private Sub DisegnaCorda(p1,p2,colore,bDisegnaDist,bLineaTratt)
      Dim nX,nY,sDist
      ' p1 e p2 sono i gradi a cui si riferiscono inizio e fine della corda
      'Call PicLineaTratteggiata(aPos(p1,1),aPos(p1,2),aPos(p2,1),aPos(p2,2),colore)
      If AddCorda(p1,p2) Then
         If bLineaTratt Then
            Call PicLineaTratteggiata(aPos(p1,1),aPos(p1,2),aPos(p2,1),aPos(p2,2),colore)
         Else
            Call PicLinea(aPos(p1,1),aPos(p1,2),aPos(p2,1),aPos(p2,2),colore)
         End If
         Call PicPunto(aPos(p1,1),aPos(p1,2),6,colore)
         Call PicPunto(aPos(p2,1),aPos(p2,2),6,colore)
         If bDisegnaDist Then
            If aPos(p1,1) > aPos(p2,1) Then
               nX =(aPos(p1,1) - aPos(p2,1)) / 2 + aPos(p2,1)
            Else
               nX =(aPos(p2,1) - aPos(p1,1)) / 2 + aPos(p1,1)
            End If
            If aPos(p1,2) > aPos(p2,2)Then
               nY =(aPos(p1,2) - aPos(p2,2)) / 2 + aPos(p2,2)
            Else
               nY =(aPos(p2,2) - aPos(p1,2)) / 2 + aPos(p1,2)
            End If
            Call PicCerchio(nX,nY,3,vbBlack,,True,vbYellow)
            nX = nX - 1.5
            nY = nY - 1.5
            sDist = Format2(Distanza(p1,p2))
            Call PicStampaTesto(nX,nY,sDist)
         End If
      End If
   End Sub
   Private Function AddCorda(n1,n2)
      Dim sKey
      If n1 <= n2 Then
         sKey = "k" & Format2(n1) & Format2(n2)
      Else
         sKey = "k" & Format2(n2) & Format2(n1)
      End If
      On Error Resume Next
      CollCorde.Add sKey,sKey
      If Err = 0 Then
         AddCorda = True
      End If
   End Function
End Class
Sub Main
   Dim clsCerchio
   Dim k,v,x,qt
   Dim aCorde
   'v = InputBox("Quale ruota vuoi controllare?",,0)
   x = InputBox("Quante estrazioni vuoi controllare?",,0)
   For v = 1 To 12
      If v = 11 Then v = 12 End If ' con numeri
      ' prendo i numeri dell'ultima estrazione di bari
      ' disegno cerchio ciclometrico , figura dei numeri estratti , diagonali con distanze
      ReDim aNum(0)
      Call GetArrayNumeriRuota(EstrazioneFin - x,v,aNum)' ---->ruota 1
      'qt = ScegliNumeri(aNum)
      'Call OrdinaMatrice(aNum,1)
      'qt = UBound(aNum)
      ' le corde sono le distanze interne e sono
      ' considerate tutte le coppie di vertici
      aCorde = SviluppoIntegrale(aNum,2)
      Set clsCerchio = New clsCerchioCiclometrico
      Call clsCerchio.DisegnaCerchioCiclometricoX(aNum,aCorde)
      Scrivi DataEstrazione((EstrazioneFin - x),1) & "  ",0,0,1,5,4
      Scrivi
      Scrivi SiglaRuota(v) & "  " & StringaNumeri(aNum),0,0,1,5,4
      Scrivi
      ' II° Esempio
      ' dissegno una figura arbitraria
   Next
End Sub

toon Alien di questi script ne ho piu di 200 cento script...
questo script disegna i numeri estratti con il cerchio ciclometrico
con numeri distanziati in tripla figura 3.6.9
se riuscite a modificare lo script potete disegnare anche il cerchio con
numeri distanziati in tripla figura 1.4.7 e in tripla figura 2.5.8
se poi non riuscite a modificare lo script vi metterò gli altri due script..
comunque dovrebbe essere facile..

If n Mod 3 = 1 Then '-->scrivi numeri distanziati in tripla figura 1.4.7
'If n Mod 3 = 2 Then '-->scrivi numeri distanziati in tripla figura 2.5.8
'If n Mod 3 = 0 Then '-->scrivi numeri distanziati in tripla figura 3.6.9
Ciao Zetrix mi da errore qua :
Call clsCerchio.DisegnaCerchioCiclometricoX(aNum,aCorde)
 
Ciao a tutti :) Grazie Zetrix per nuovo calcolo "triangolo". Solo che per capire meglio potresti farlo con altra ruota, altri numeri. Perché non capisco proprio bene come ricavi il numero 59 da questo calcolo. Grazie.

ciao nadin il calcolo e facile devi usare questa formula
ax2-b

89x2=88-29=59
 
Ciao Zetrix mi da errore qua :
Call clsCerchio.DisegnaCerchioCiclometricoX(aNum,aCorde)

ciao Alien e impossibile che lo script da errore a me non da nessun errore
non e che ai copiato male lo script..

If n Mod 3 = 1 Then '-->scrivi numeri distanziati in tripla figura 1.4.7
'If n Mod 3 = 2 Then '-->scrivi numeri distanziati in tripla figura 2.5.8
'If n Mod 3 = 0 Then '-->scrivi numeri distanziati in tripla figura 3.6.9

Alien devi fare 3 script sostituendo l'apice davanti alle 3 formule
esempio se vuoi disegnare lo script con numeri distanziati 1.4.7
metti l'apice davanti 'If n Mod 3 = 2 Then e 'If n Mod 3 = 0 Then
in questo modo disegna solo il cerchio con numeri distanziati 1.4.7
allo stesso modo fai con le altre formule rimanenti..
 
Ultima modifica:
Codice:
Option Explicit
Class clsCerchioCiclometrico
   Dim aPos(90,2) ' memorizza le coordinate relative ai 90 numeri
   Private CollCorde
   Sub DisegnaCerchioCiclometricoX(aNumeri,aCorde)
      Dim nRaggio ' raggio ddel cerchio
      Dim cX,cY ' centro del cerchio x e y
      Dim Base,Altezza ' dimensioni area disegno
      Dim Angolo ' gestisce il ciclo per disegnare il cerchio
      Dim pi ' pigreco
      Dim x1,y1,x2,y2 ' coordinate generiche pr i segmenti
      Dim cLung ' distanza per stampare i gradi
      Dim k ' ciclo generico
      Dim n
      Dim z
      Call PicClear
      Set CollCorde = GetNewCollection
      cLung = 2.2
      pi = 3.14
      Base = 150
      Altezza = 150
      nRaggio = 60
      ' preimposto le dimensioni dell'area
      Call PicSetDimensioni(Base,Altezza,Base,Altezza)
      ' calcolo il centro del cerchio
      cX = Base / 2
      cY = Altezza / 2
      Call PicCerchio(cX,cY,nRaggio)
      Angolo = 360
      n = 91
      ' ciclo per disegnare i semiraggi
      For z = 90 To 540 Step 4
         Angolo = FuoriX(z,360)
         ' calcolo cordinate per il segmento raggio
         x1 = cX +((nRaggio) * Cos(- Angolo *(pi / 180)))
         y1 = cY +((nRaggio) * Sin(- Angolo *(pi / 180)))
         ' memorizzo nell'array globale le coordinate appena calcolate
         ' cosi potranno essere riusate per disegnare le corde
         n = n - 1
         aPos(n,1) = x1
         aPos(n,2) = y1
         'If n Mod 10 = 0 Then
         If n Mod 7 = 6 Then '-->scrivi numeri distanziati in sequenza(7)
            'If n Mod 3 = 2 Then '-->scrivi numero distanzanziale esempio 10
            'If n Mod 3 = 3 Then '-->scrivi numero distanzanziale esempio 10
            ' ogni 5 gradi disegno un semiraggio un po' piu lungo
            ' e stampo i gradi in corripondenza
            x2 = cX +((nRaggio + cLung*4) * Cos(- Angolo *(pi / 180)))
            y2 = cY +((nRaggio + cLung*4) * Sin(- Angolo *(pi / 180)))
            Call PicLinea(x1,y1,x2,y2)
            x2 = cX +((nRaggio + cLung*5) * Cos(-(Angolo + 2) *(pi / 180)))
            y2 = cY +((nRaggio + cLung*5) * Sin(-(Angolo + 2) *(pi / 180)))
            Call PicStampaTestoRT(x2,y2,n,Angolo)
         Else
            ' disegno il semiraggio
            x2 = cX +((nRaggio + cLung) * Cos(- Angolo *(pi / 180)))
            y2 = cY +((nRaggio + cLung) * Sin(- Angolo *(pi / 180)))
            Call PicLinea(x1,y1,x2,y2)
            x2 = cX +((nRaggio + cLung) * Cos(-(Angolo + 2) *(pi / 180)))
            y2 = cY +((nRaggio + cLung) * Sin(-(Angolo + 2) *(pi / 180)))
            Call PicStampaTestoRT(x2,y2,n,Angolo)
         End If
         If n = 0 Then Exit For
      Next
      Call DisegnaFigura(aNumeri)
      Call DisegnaDistanze(aCorde)
      ' mostro la figura in output
      Call PicEsegui
   End Sub
   Private Sub DisegnaFigura(aNum)
      Dim k
      For k = 1 To UBound(aNum)
         Call DisegnaCorda(aNum(k),aNum(FuoriX(k + 1,UBound(aNum))),vbRed,True,False)
      Next
   End Sub
   Private Sub DisegnaDistanze(aCorde)
      Dim k
      For k = 1 To UBound(aCorde)
         Call DisegnaCorda(aCorde(k,1),aCorde(k,2),vbBlue,True,True)
      Next
   End Sub
   Private Sub DisegnaCorda(p1,p2,colore,bDisegnaDist,bLineaTratt)
      Dim nX,nY,sDist
      ' p1 e p2 sono i gradi a cui si riferiscono inizio e fine della corda
      'Call PicLineaTratteggiata(aPos(p1,1),aPos(p1,2),aPos(p2,1),aPos(p2,2),colore)
      If AddCorda(p1,p2) Then
         If bLineaTratt Then
            Call PicLineaTratteggiata(aPos(p1,1),aPos(p1,2),aPos(p2,1),aPos(p2,2),colore)
         Else
            Call PicLinea(aPos(p1,1),aPos(p1,2),aPos(p2,1),aPos(p2,2),colore)
         End If
         Call PicPunto(aPos(p1,1),aPos(p1,2),6,colore)
         Call PicPunto(aPos(p2,1),aPos(p2,2),6,colore)
         If bDisegnaDist Then
            If aPos(p1,1) > aPos(p2,1) Then
               nX =(aPos(p1,1) - aPos(p2,1)) / 2 + aPos(p2,1)
            Else
               nX =(aPos(p2,1) - aPos(p1,1)) / 2 + aPos(p1,1)
            End If
            If aPos(p1,2) > aPos(p2,2)Then
               nY =(aPos(p1,2) - aPos(p2,2)) / 2 + aPos(p2,2)
            Else
               nY =(aPos(p2,2) - aPos(p1,2)) / 2 + aPos(p1,2)
            End If
            Call PicCerchio(nX,nY,3,vbBlack,,True,vbYellow)
            nX = nX - 1.5
            nY = nY - 1.5
            sDist = Format2(Distanza(p1,p2))
            Call PicStampaTesto(nX,nY,sDist)
         End If
      End If
   End Sub
   Private Function AddCorda(n1,n2)
      Dim sKey
      If n1 <= n2 Then
         sKey = "k" & Format2(n1) & Format2(n2)
      Else
         sKey = "k" & Format2(n2) & Format2(n1)
      End If
      On Error Resume Next
      CollCorde.Add sKey,sKey
      If Err = 0 Then
         AddCorda = True
      End If
   End Function
End Class
Sub Main
   Dim clsCerchio
   Dim k,v,x,qt,es
   Dim aCorde
   x = InputBox("Quante estrazioni vuoi controllare?",,0)
   For es = EstrazioneFin - x To EstrazioneFin
      AvanzamentoElab EstrazioneFin - x,EstrazioneFin,es
      For v = 1 To 12
         If v = 11 Then v = 12 End If ' con numeri
         ' prendo i numeri dell'ultima estrazione di bari
         ' disegno cerchio ciclometrico , figura dei numeri estratti , diagonali con distanze
         ReDim aNum(0)
         Call GetArrayNumeriRuota(EstrazioneFin - x,v,aNum)' ---->ruota 1
         ReDim MatriceCaselleDaEvid(5,1)
         '
         MatriceCaselleDaEvid(1,0) = v
         MatriceCaselleDaEvid(1,1) = 1
         '
         MatriceCaselleDaEvid(2,0) = v
         MatriceCaselleDaEvid(2,1) = 2
         '
         MatriceCaselleDaEvid(3,0) = v
         MatriceCaselleDaEvid(3,1) = 3
         '
         MatriceCaselleDaEvid(4,0) = v
         MatriceCaselleDaEvid(4,1) = 4
         '
         MatriceCaselleDaEvid(5,0) = v
         MatriceCaselleDaEvid(5,1) = 5
         Call DisegnaEstrazione(es,MatriceCaselleDaEvid)
         'qt = ScegliNumeri(aNum)
         'Call OrdinaMatrice(aNum,1)
         'qt = UBound(aNum)
         ' le corde sono le distanze interne e sono
         ' considerate tutte le coppie di vertici
         aCorde = SviluppoIntegrale(aNum,2)
         Set clsCerchio = New clsCerchioCiclometrico
         Call clsCerchio.DisegnaCerchioCiclometricoX(aNum,aCorde)
         'Scrivi DataEstrazione((EstrazioneFin - x),1) & "  ",0,0,1,5,4
         'Scrivi
         Scrivi SiglaRuota(v) & "" & Space(6) & "" & StringaNumeri(aNum) & "" & Space(1) & "" & "",0,1,3,7,4
         Scrivi "FIGURA  " & "" &(Figura(aNum(1))) & "" & Space(2) & "" &(Figura(aNum(2))) & "" & Space(2) & "" &(Figura(aNum(3))) & "" & Space(2) & "" &(Figura(aNum(4))) & "" & Space(2) & "" &(Figura(aNum(5)))& "  ",0,1,4,7,4
         Scrivi "CADENZA " & "" &(Cadenza(aNum(1))) & "" & Space(2) & "" &(Cadenza(aNum(2))) & "" & Space(2) & "" &(Cadenza(aNum(3))) & "" & Space(2) & "" &(Cadenza(aNum(4))) & "" & Space(2) & "" &(Cadenza(aNum(5)))& "  ",0,1,7,4,4
         Scrivi
         ' II° Esempio
         ' dissegno una figura arbitraria
      Next
   Next
End Sub

toon ecco un altro script con numeri distanziati in sequenza
anche qui se volete altre sequenze dovete fare una modifica sullo script..
ho inserito anche la tabella con i numeri estratti..
 
4884.png

toon ho anche uno script che disegna il cerchio con numeri distanziati con le cadenze
ne ho tantissimi di questi script ho anche uno script sulle figure..
oppure sulle somme..però non li voglio metterli tutti nel forum..
se vi interessa qualche script in particolare mi scrivete quale disegno deve calcolare il cerchio..
 
Codice:
Option Explicit
Class clsCerchioCiclometrico
   Dim aPos(90,2) ' memorizza le coordinate relative ai 90 numeri
   Private CollCorde
   Sub DisegnaCerchioCiclometricoX(aNumeri,aCorde)
      Dim nRaggio ' raggio ddel cerchio
      Dim cX,cY ' centro del cerchio x e y
      Dim Base,Altezza ' dimensioni area disegno
      Dim Angolo ' gestisce il ciclo per disegnare il cerchio
      Dim pi ' pigreco
      Dim x1,y1,x2,y2 ' coordinate generiche pr i segmenti
      Dim cLung ' distanza per stampare i gradi
      Dim k ' ciclo generico
      Dim n
      Dim z
      Call PicClear
      Set CollCorde = GetNewCollection
      cLung = 2.2
      pi = 3.14
      Base = 150
      Altezza = 150
      nRaggio = 60
      ' preimposto le dimensioni dell'area
      Call PicSetDimensioni(Base,Altezza,Base,Altezza)
      ' calcolo il centro del cerchio
      cX = Base / 2
      cY = Altezza / 2
      Call PicCerchio(cX,cY,nRaggio)
      Angolo = 360
      n = 91
      ' ciclo per disegnare i semiraggi
      For z = 90 To 540 Step 4
         Angolo = FuoriX(z,360)
         ' calcolo cordinate per il segmento raggio
         x1 = cX +((nRaggio) * Cos(- Angolo *(pi / 180)))
         y1 = cY +((nRaggio) * Sin(- Angolo *(pi / 180)))
         ' memorizzo nell'array globale le coordinate appena calcolate
         ' cosi potranno essere riusate per disegnare le corde
         n = n - 1
         aPos(n,1) = x1
         aPos(n,2) = y1
         'If n Mod 10 = 0 Then
         If n Mod 7 = 6 Then '-->scrivi numeri distanziati in sequenza(7)
            'If n Mod 3 = 2 Then '-->scrivi numero distanzanziale esempio 10
            'If n Mod 3 = 3 Then '-->scrivi numero distanzanziale esempio 10
            ' ogni 5 gradi disegno un semiraggio un po' piu lungo
            ' e stampo i gradi in corripondenza
            x2 = cX +((nRaggio + cLung*4) * Cos(- Angolo *(pi / 180)))
            y2 = cY +((nRaggio + cLung*4) * Sin(- Angolo *(pi / 180)))
            Call PicLinea(x1,y1,x2,y2)
            x2 = cX +((nRaggio + cLung*5) * Cos(-(Angolo + 2) *(pi / 180)))
            y2 = cY +((nRaggio + cLung*5) * Sin(-(Angolo + 2) *(pi / 180)))
            Call PicStampaTestoRT(x2,y2,n,Angolo)
         Else
            ' disegno il semiraggio
            x2 = cX +((nRaggio + cLung) * Cos(- Angolo *(pi / 180)))
            y2 = cY +((nRaggio + cLung) * Sin(- Angolo *(pi / 180)))
            Call PicLinea(x1,y1,x2,y2)
            x2 = cX +((nRaggio + cLung) * Cos(-(Angolo + 2) *(pi / 180)))
            y2 = cY +((nRaggio + cLung) * Sin(-(Angolo + 2) *(pi / 180)))
            Call PicStampaTestoRT(x2,y2,n,Angolo)
         End If
         If n = 0 Then Exit For
      Next
      Call DisegnaFigura(aNumeri)
      Call DisegnaDistanze(aCorde)
      ' mostro la figura in output
      Call PicEsegui
   End Sub
   Private Sub DisegnaFigura(aNum)
      Dim k
      For k = 1 To UBound(aNum)
         Call DisegnaCorda(aNum(k),aNum(FuoriX(k + 1,UBound(aNum))),vbRed,True,False)
      Next
   End Sub
   Private Sub DisegnaDistanze(aCorde)
      Dim k
      For k = 1 To UBound(aCorde)
         Call DisegnaCorda(aCorde(k,1),aCorde(k,2),vbBlue,True,True)
      Next
   End Sub
   Private Sub DisegnaCorda(p1,p2,colore,bDisegnaDist,bLineaTratt)
      Dim nX,nY,sDist
      ' p1 e p2 sono i gradi a cui si riferiscono inizio e fine della corda
      'Call PicLineaTratteggiata(aPos(p1,1),aPos(p1,2),aPos(p2,1),aPos(p2,2),colore)
      If AddCorda(p1,p2) Then
         If bLineaTratt Then
            Call PicLineaTratteggiata(aPos(p1,1),aPos(p1,2),aPos(p2,1),aPos(p2,2),colore)
         Else
            Call PicLinea(aPos(p1,1),aPos(p1,2),aPos(p2,1),aPos(p2,2),colore)
         End If
         Call PicPunto(aPos(p1,1),aPos(p1,2),6,colore)
         Call PicPunto(aPos(p2,1),aPos(p2,2),6,colore)
         If bDisegnaDist Then
            If aPos(p1,1) > aPos(p2,1) Then
               nX =(aPos(p1,1) - aPos(p2,1)) / 2 + aPos(p2,1)
            Else
               nX =(aPos(p2,1) - aPos(p1,1)) / 2 + aPos(p1,1)
            End If
            If aPos(p1,2) > aPos(p2,2)Then
               nY =(aPos(p1,2) - aPos(p2,2)) / 2 + aPos(p2,2)
            Else
               nY =(aPos(p2,2) - aPos(p1,2)) / 2 + aPos(p1,2)
            End If
            Call PicCerchio(nX,nY,3,vbBlack,,True,vbYellow)
            nX = nX - 1.5
            nY = nY - 1.5
            sDist = Format2(Distanza(p1,p2))
            Call PicStampaTesto(nX,nY,sDist)
         End If
      End If
   End Sub
   Private Function AddCorda(n1,n2)
      Dim sKey
      If n1 <= n2 Then
         sKey = "k" & Format2(n1) & Format2(n2)
      Else
         sKey = "k" & Format2(n2) & Format2(n1)
      End If
      On Error Resume Next
      CollCorde.Add sKey,sKey
      If Err = 0 Then
         AddCorda = True
      End If
   End Function
End Class
Sub Main
   Dim clsCerchio
   Dim k,v,x,qt,es
   Dim aCorde
   x = InputBox("Quante estrazioni vuoi controllare?",,0)
   For es = EstrazioneFin - x To EstrazioneFin
      AvanzamentoElab EstrazioneFin - x,EstrazioneFin,es
      For v = 1 To 12
         If v = 11 Then v = 12 End If ' con numeri
         ' prendo i numeri dell'ultima estrazione di bari
         ' disegno cerchio ciclometrico , figura dei numeri estratti , diagonali con distanze
         ReDim aNum(0)
         Call GetArrayNumeriRuota(EstrazioneFin - x,v,aNum)' ---->ruota 1
         ReDim MatriceCaselleDaEvid(5,1)
         '
         MatriceCaselleDaEvid(1,0) = v
         MatriceCaselleDaEvid(1,1) = 1
         '
         MatriceCaselleDaEvid(2,0) = v
         MatriceCaselleDaEvid(2,1) = 2
         '
         MatriceCaselleDaEvid(3,0) = v
         MatriceCaselleDaEvid(3,1) = 3
         '
         MatriceCaselleDaEvid(4,0) = v
         MatriceCaselleDaEvid(4,1) = 4
         '
         MatriceCaselleDaEvid(5,0) = v
         MatriceCaselleDaEvid(5,1) = 5
         Call DisegnaEstrazione(es,MatriceCaselleDaEvid)
         'qt = ScegliNumeri(aNum)
         'Call OrdinaMatrice(aNum,1)
         'qt = UBound(aNum)
         ' le corde sono le distanze interne e sono
         ' considerate tutte le coppie di vertici
         aCorde = SviluppoIntegrale(aNum,2)
         Set clsCerchio = New clsCerchioCiclometrico
         Call clsCerchio.DisegnaCerchioCiclometricoX(aNum,aCorde)
         'Scrivi DataEstrazione((EstrazioneFin - x),1) & "  ",0,0,1,5,4
         'Scrivi
         Scrivi SiglaRuota(v) & "" & Space(6) & "" & StringaNumeri(aNum) & "" & Space(1) & "" & "",0,1,3,7,4
         Scrivi "FIGURA  " & "" &(Figura(aNum(1))) & "" & Space(2) & "" &(Figura(aNum(2))) & "" & Space(2) & "" &(Figura(aNum(3))) & "" & Space(2) & "" &(Figura(aNum(4))) & "" & Space(2) & "" &(Figura(aNum(5)))& "  ",0,1,4,7,4
         Scrivi "CADENZA " & "" &(Cadenza(aNum(1))) & "" & Space(2) & "" &(Cadenza(aNum(2))) & "" & Space(2) & "" &(Cadenza(aNum(3))) & "" & Space(2) & "" &(Cadenza(aNum(4))) & "" & Space(2) & "" &(Cadenza(aNum(5)))& "  ",0,1,7,4,4
         Scrivi
         ' II° Esempio
         ' dissegno una figura arbitraria
      Next
   Next
End Sub

toon ecco un altro script con numeri distanziati in sequenza
anche qui se volete altre sequenze dovete fare una modifica sullo script..
ho inserito anche la tabella con i numeri estratti..
Scusami anche qui mi da errore
Scrivi "FIGURA " & "" &(Figura(aNum(1))) & "" & Space(2) & "" &(Figura(aNum(2))) & "" & Space(2) & "" &(Figura(aNum(3))) & "" & Space(2) & "" &(Figura(aNum(4))) & "" & Space(2) & "" &(Figura(aNum(5)))& " ",0,1,4,7,4
 
Codice:
Option Explicit
Class clsCerchioCiclometrico
   Dim aPos(90,2) ' memorizza le coordinate relative ai 90 numeri
   Private CollCorde
   Sub DisegnaCerchioCiclometricoX(aNumeri,aCorde)
      Dim nRaggio ' raggio ddel cerchio
      Dim cX,cY ' centro del cerchio x e y
      Dim Base,Altezza ' dimensioni area disegno
      Dim Angolo ' gestisce il ciclo per disegnare il cerchio
      Dim pi ' pigreco
      Dim x1,y1,x2,y2 ' coordinate generiche pr i segmenti
      Dim cLung ' distanza per stampare i gradi
      Dim k ' ciclo generico
      Dim n
      Dim z
      Call PicClear
      Set CollCorde = GetNewCollection
      cLung = 2.2
      pi = 3.14
      Base = 150
      Altezza = 150
      nRaggio = 60
      ' preimposto le dimensioni dell'area
      Call PicSetDimensioni(Base,Altezza,Base,Altezza)
      ' calcolo il centro del cerchio
      cX = Base / 2
      cY = Altezza / 2
      Call PicCerchio(cX,cY,nRaggio)
      Angolo = 360
      n = 91
      ' ciclo per disegnare i semiraggi
      For z = 90 To 540 Step 4
         Angolo = FuoriX(z,360)
         ' calcolo cordinate per il segmento raggio
         x1 = cX +((nRaggio) * Cos(- Angolo *(pi / 180)))
         y1 = cY +((nRaggio) * Sin(- Angolo *(pi / 180)))
         ' memorizzo nell'array globale le coordinate appena calcolate
         ' cosi potranno essere riusate per disegnare le corde
         n = n - 1
         aPos(n,1) = x1
         aPos(n,2) = y1
         If n Mod 10 = 1 Then '<----------------------------------
            ' ogni 5 gradi disegno un semiraggio un po' piu lungo
            ' e stampo i gradi in corripondenza
            x2 = cX +((nRaggio + cLung*3) * Cos(- Angolo *(pi / 180)))
            y2 = cY +((nRaggio + cLung*3) * Sin(- Angolo *(pi / 180)))
            Call PicLinea(x1,y1,x2,y2)
            x2 = cX +((nRaggio + cLung*4) * Cos(-(Angolo + 2) *(pi / 180)))
            y2 = cY +((nRaggio + cLung*4) * Sin(-(Angolo + 2) *(pi / 180)))
            Call PicStampaTestoRT(x2,y2,n,Angolo)
         Else
            ' disegno il semiraggio
            x2 = cX +((nRaggio + cLung) * Cos(- Angolo *(pi / 180)))
            y2 = cY +((nRaggio + cLung) * Sin(- Angolo *(pi / 180)))
            Call PicLinea(x1,y1,x2,y2)
            x2 = cX +((nRaggio + cLung) * Cos(-(Angolo + 2) *(pi / 180)))
            y2 = cY +((nRaggio + cLung) * Sin(-(Angolo + 2) *(pi / 180)))
            Call PicStampaTestoRT(x2,y2,n,Angolo)
         End If
         If n = 0 Then Exit For
      Next
      Call DisegnaFigura(aNumeri)
      Call DisegnaDistanze(aCorde)
      ' mostro la figura in output
      Call PicEsegui
   End Sub
   Private Sub DisegnaFigura(aNum)
      Dim k
      For k = 1 To UBound(aNum)
         Call DisegnaCorda(aNum(k),aNum(FuoriX(k + 1,UBound(aNum))),vbRed,True,False)
      Next
   End Sub
   Private Sub DisegnaDistanze(aCorde)
      Dim k
      For k = 1 To UBound(aCorde)
         Call DisegnaCorda(aCorde(k,1),aCorde(k,2),vbBlue,True,True)
      Next
   End Sub
   Private Sub DisegnaCorda(p1,p2,colore,bDisegnaDist,bLineaTratt)
      Dim nX,nY,sDist
      ' p1 e p2 sono i gradi a cui si riferiscono inizio e fine della corda
      'Call PicLineaTratteggiata(aPos(p1,1),aPos(p1,2),aPos(p2,1),aPos(p2,2),colore)
      If AddCorda(p1,p2) Then
         If bLineaTratt Then
            Call PicLineaTratteggiata(aPos(p1,1),aPos(p1,2),aPos(p2,1),aPos(p2,2),colore)
         Else
            Call PicLinea(aPos(p1,1),aPos(p1,2),aPos(p2,1),aPos(p2,2),colore)
         End If
         Call PicPunto(aPos(p1,1),aPos(p1,2),6,colore)
         Call PicPunto(aPos(p2,1),aPos(p2,2),6,colore)
         If bDisegnaDist Then
            If aPos(p1,1) > aPos(p2,1) Then
               nX =(aPos(p1,1) - aPos(p2,1)) / 2 + aPos(p2,1)
            Else
               nX =(aPos(p2,1) - aPos(p1,1)) / 2 + aPos(p1,1)
            End If
            If aPos(p1,2) > aPos(p2,2)Then
               nY =(aPos(p1,2) - aPos(p2,2)) / 2 + aPos(p2,2)
            Else
               nY =(aPos(p2,2) - aPos(p1,2)) / 2 + aPos(p1,2)
            End If
            Call PicCerchio(nX,nY,3,vbWhite,,True,vbWhite)
            nX = nX - 1.5
            nY = nY - 1.5
            sDist = Format2(Distanza(p1,p2))
            Call PicStampaTesto(nX,nY,sDist)
         End If
      End If
   End Sub
   Private Function AddCorda(n1,n2)
      Dim sKey
      If n1 <= n2 Then
         sKey = "k" & Format2(n1) & Format2(n2)
      Else
         sKey = "k" & Format2(n2) & Format2(n1)
      End If
      On Error Resume Next
      CollCorde.Add sKey,sKey
      If Err = 0 Then
         AddCorda = True
      End If
   End Function
End Class
Sub Main
   Dim clsCerchio
   Dim k,v,x,qt
   Dim aCorde
   'v = InputBox("Quale ruota vuoi controllare?",,0)
   'x = InputBox("Quante estrazioni vuoi controllare?",,0)
   'For v = 1 To 10
   ' prendo i numeri dell'ultima estrazione di bari
   ' disegno cerchio ciclometrico , figura dei numeri estratti , diagonali con distanze
   ReDim aNum(0)
   qt = ScegliNumeri(aNum)
   Call OrdinaMatrice(aNum,1)
   qt = UBound(aNum)
   ' le corde sono le distanze interne e sono
   ' considerate tutte le coppie di vertici
   aCorde = SviluppoIntegrale(aNum,2)
   Set clsCerchio = New clsCerchioCiclometrico
   Call clsCerchio.DisegnaCerchioCiclometricoX(aNum,aCorde)
   'Scrivi(DataEstrazione(EstrazioneFin - x)),0,0,1,3,4
   'Scrivi
   'Scrivi NomeRuota(v),0,0,1,3,4
   Scrivi StringaNumeri(aNum)
   ' II° Esempio
   ' dissegno una figura arbitraria
   'Next
End Sub

questo script disegna i numeri distanziati in cadenza (1)..
anche qui dovete fare una modifica sullo script..
 
Scusami anche qui mi da errore
Scrivi "FIGURA " & "" &(Figura(aNum(1))) & "" & Space(2) & "" &(Figura(aNum(2))) & "" & Space(2) & "" &(Figura(aNum(3))) & "" & Space(2) & "" &(Figura(aNum(4))) & "" & Space(2) & "" &(Figura(aNum(5)))& " ",0,1,4,7,4

Alien questa stringa deve essere unita sulla stessa riga..a me non da errore lo script..
ma che versione di spaziometria ai...io ho la versione 1.6.35
 
Si pure io ma fino ad oggi non mi ha dato mai problemi. No scusa ho la 1.6.34.

Ma la 1.6.35 dove l'hai trovata ?

 

Ultima estrazione Lotto

  • Estrazione del lotto
    sabato 11 gennaio 2025
    Bari
    73
    43
    01
    58
    81
    Cagliari
    69
    60
    18
    02
    10
    Firenze
    25
    32
    18
    55
    54
    Genova
    48
    05
    40
    34
    69
    Milano
    10
    07
    70
    44
    79
    Napoli
    11
    89
    01
    34
    80
    Palermo
    37
    80
    82
    44
    77
    Roma
    78
    04
    38
    39
    56
    Torino
    08
    13
    30
    27
    24
    Venezia
    56
    75
    36
    18
    70
    Nazionale
    63
    83
    19
    31
    80
    Estrazione Simbolotto
    Bari
    35
    34
    12
    23
    20
Indietro
Alto