from punto import *
from toro import Toro
from grafica import Grafica
import math
def domanda(messaggio, l1,l2):
""" Domanda un numero all' utente, e controlla i dati inseruti"""
if l1>l2:
l1,l2=(l2,l1)
while True:
print (messaggio, end='')
try:
responso=(float)(input())
except ValueError:
print ('\nSono ammessi solo numeri !!', end='\n\n')
continue
except:
print ('\nEccezzione non gestita !!')
continue
if (responso<l1) or (responso>l2):
print ('\nI limiti ammessi vallo da %8.3f a %8.3f\n' %(l1,l2))
continue
return responso
t=Toro()
print('Superfice toroidale', end='\n\n')
t.sezione=domanda('Raggio della corconferenza rotante ? ', 0, 600)
t.rivoluzione=domanda('Raggio di rotazione ? ', 0, 1200)
spire=domanda('Quante spire ? ', 1, 150)
foglio=Grafica('Toro in assonometria')
alfa=0.0
beta=0.0
omega=2.0*math.pi
passo=omega/60.0
p=t.calcola3d(alfa, beta)
foglio.assi()
foglio.linea(p,p)
while (alfa<omega):
beta+=passo
alfa+=(passo/spire)
p=t.calcola3d(alfa, beta)
foglio.lineaTo(p)
print("Premi per continuare... ")
foglio.chiudi()