|
import math
class Punto:
def __init__(self):
"""Costruttore"""
self.x=0.0
self.y=0.0
def __str__(self):
"""Conversione a stringa"""
try:
messaggio='(%8.4f; %8.4f)' %(self.x, self.y)
except TypeError:
messaggio='(---)'
return messaggio
def distanza(self,altro):
"""Calcola la distanza tra due punti"""
dx=altro.x-self.x
dy=altro.y-self.y
return math.pow(dx*dx + dy*dy, 0.5)
def modulo(self):
"""Calcola la distanza dall' origine"""
return self.distanza(Punto())
def __eq__(self, altro):
"""Uguaglianza"""
return self.distanza(altro)==0.0
def __ne__(self, altro):
"""Disuguaglianza"""
return not(self==altro)
def clona(self):
"""Restituisce la copia per valore"""
nuovo=Punto()
nuovo.x=self.x
nuovo.y=self.y
return nuovo
def area(self, altro):
"""Calcola l' area sottesa tra i due punti"""
base=abs(self.x-altro.x)
altezza=self.y+altro.y
return 0.5*base*altezza
|
|