import math
from punto import *
class Cicloide:
def __init__(self, ri, re):
"""Costruttore [ri=raggio interno; re=raggio esterno]"""
try:
self.interno=abs(float(ri))
self.esterno=abs(float(re))
except TypeError:
self.interno=10.0
self.esterno=20.0
def calcola(self, alfa):
"""Calcola la posizione in un determinato angolo"""
risultato=Punto()
dif=self.esterno-self.interno
rap=(dif/self.interno)*alfa
risultato.x=dif*math.cos(alfa)-self.interno*math.cos(rap)
risultato.y=dif*math.sin(alfa)+self.interno*math.sin(rap)
return risultato
def clona(self):
"""Esegue la copia per valore"""
return Cicloide(self.interno, self.esterno)