from punto import *
from math import *
class Toro:
def __init__(self, copia=None):
"""Costruttore"""
if (type(copia)==type(None)):
self.raRivoluzione=0.0
self.raSezione=0.0
else:
self.raRivoluzione=copia.rivoluzione
self.raSezione=copia.sezione
@property
def rivoluzione(self):
"""Restituisce il raggio di rivoluzione"""
return self.raRivoluzione
@rivoluzione.setter
def rivoluzione(self, valore):
"""Assegna il raggio di rivoluzione"""
self.raRivoluzione=abs(float(valore))
@property
def sezione(self):
"""Restituisce il raggio di sezione"""
return self.raSezione
@sezione.setter
def sezione(self, valore):
"""Assegna il raggio di sezione"""
self.raSezione=abs(float(valore))
def calcola3d(self, alfa, beta):
"""Calcola le coordinate in 3d"""
risultato=Punto3D()
risultato.x=(self.raRivoluzione + (self.raSezione*math.cos(beta))) * math.cos(alfa)
risultato.y=(self.raRivoluzione + (self.raSezione*math.cos(beta))) * math.sin(alfa)
risultato.z=self.raSezione*math.sin(beta)
return risultato
def __str__(self):
return "Raggio di rivoluzione: %8.3f Raggio di sezione: %8.3f" %(self.raRivoluzione, self.raSezione)