Vamos a ilustralo con una imagen :
El area roja es el circulo1 y el area verde es el circulo2 el otro circulo de area naranja su area es el resultado de circulo1 - circulo2.
Vamos a resolver en Python con la amada POO(programacion orientada a objectos).
class Circle:
def __init__(self,radio):
self.radio = radio
self.area = 3.14159*(radio*radio)
def __sub__(self,circl):
cir = Circle(self.radio)
cir.area = self.area - circl.area
return cir
c1 = Circle(10)
c2 = Circle(3)
c3 = c1-c2
print "circulo1 : {0}".format(c1.area)
print "circulo2 : {0}".format(c2.area)
print "circulo1 - circulo2 : {0}".format(c3.area)
En este caso creamos la case Circle que contiene los datos del circulo, en este caso solo usamos el area, la cual calculamos apartir del radio.
Usamos la funcion __sub__ para modificar el funcionamiento del evento restar, para hacer la simulacion de que estamos restando directamente 2 circulos.
Y el resultado claro esta :
Bastara hacer crecer la clase Circle para hacer mas operaciones con circulos, pero por ahora logramos nuestro cometido...
by Agustin Ramos Escalante
Neopathic
No hay comentarios:
Publicar un comentario