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 - toro.py

toro.py

Caricato da: Poggi Marco
Scarica il programma completo

  1. from punto import *
  2. from math import *
  3.  
  4. class Toro:
  5.      def __init__(self, copia=None):
  6.           """Costruttore"""
  7.           if (type(copia)==type(None)):
  8.                self.raRivoluzione=0.0
  9.                self.raSezione=0.0
  10.           else:
  11.                self.raRivoluzione=copia.rivoluzione
  12.                self.raSezione=copia.sezione
  13.  
  14.      @property
  15.      def rivoluzione(self):
  16.           """Restituisce il raggio di rivoluzione"""
  17.           return self.raRivoluzione
  18.  
  19.      @rivoluzione.setter
  20.      def rivoluzione(self, valore):
  21.           """Assegna il raggio di rivoluzione"""
  22.           self.raRivoluzione=abs(float(valore))
  23.  
  24.      @property
  25.      def sezione(self):
  26.           """Restituisce il raggio di sezione"""
  27.           return self.raSezione
  28.  
  29.      @sezione.setter
  30.      def sezione(self, valore):
  31.           """Assegna il raggio di sezione"""
  32.           self.raSezione=abs(float(valore))
  33.  
  34.      def calcola3d(self, alfa, beta):
  35.           """Calcola le coordinate in 3d"""
  36.           risultato=Punto3D()
  37.           risultato.x=(self.raRivoluzione + (self.raSezione*math.cos(beta))) * math.cos(alfa)
  38.           risultato.y=(self.raRivoluzione + (self.raSezione*math.cos(beta))) * math.sin(alfa)
  39.           risultato.z=self.raSezione*math.sin(beta)
  40.           return risultato
  41.  
  42.      def __str__(self):
  43.           return "Raggio di rivoluzione: %8.3f Raggio di sezione: %8.3f" %(self.raRivoluzione, self.raSezione)