Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
Toro - main.py

main.py

Caricato da: Poggi Marco
Scarica il programma completo

  1. from punto import *
  2. from toro import Toro
  3. from grafica import Grafica
  4. import math
  5.  
  6. def domanda(messaggio, l1,l2):
  7.      """ Domanda un numero all' utente, e controlla i dati inseruti"""
  8.      if l1>l2:
  9.           l1,l2=(l2,l1)
  10.      while True:
  11.           print (messaggio, end='')
  12.           try:
  13.                responso=(float)(input())
  14.           except ValueError:
  15.                print ('\nSono ammessi solo numeri !!', end='\n\n')
  16.                continue
  17.           except:
  18.                print ('\nEccezzione non gestita !!')
  19.                continue
  20.           if (responso<l1) or (responso>l2):
  21.                print ('\nI limiti ammessi vallo da %8.3f a %8.3f\n' %(l1,l2))
  22.                continue
  23.           return responso
  24.  
  25. t=Toro()
  26. print('Superfice toroidale', end='\n\n')
  27. t.sezione=domanda('Raggio della corconferenza rotante ? ', 0, 600)
  28. t.rivoluzione=domanda('Raggio di rotazione ? ', 0, 1200)
  29. spire=domanda('Quante spire ? ', 1, 150)
  30. foglio=Grafica('Toro in assonometria')
  31. alfa=0.0
  32. beta=0.0
  33. omega=2.0*math.pi
  34. passo=omega/60.0
  35. p=t.calcola3d(alfa, beta)
  36. foglio.assi()
  37. foglio.linea(p,p)
  38. while (alfa<omega):
  39.      beta+=passo
  40.      alfa+=(passo/spire)
  41.      p=t.calcola3d(alfa, beta)
  42.      foglio.lineaTo(p)
  43. print("Premi per continuare... ")
  44. foglio.chiudi()