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
Ipocicloide - cicloide.py

cicloide.py

Caricato da: Poggi Marco
Scarica il programma completo

  1. import math
  2. from punto import *
  3.  
  4. class Cicloide:
  5.  
  6.      def __init__(self, ri, re):
  7.           """Costruttore [ri=raggio interno; re=raggio esterno]"""
  8.           try:
  9.                self.interno=abs(float(ri))
  10.                self.esterno=abs(float(re))
  11.           except TypeError:
  12.                self.interno=10.0
  13.                self.esterno=20.0
  14.  
  15.      def calcola(self, alfa):
  16.           """Calcola la posizione in un determinato angolo"""
  17.           risultato=Punto()
  18.           dif=self.esterno-self.interno
  19.           rap=(dif/self.interno)*alfa
  20.           risultato.x=dif*math.cos(alfa)-self.interno*math.cos(rap)
  21.           risultato.y=dif*math.sin(alfa)+self.interno*math.sin(rap)
  22.           return risultato
  23.      
  24.      def clona(self):
  25.           """Esegue la copia per valore"""
  26.           return Cicloide(self.interno, self.esterno)