Bonjour et merci de votre aide...
Ma question est vraisemblablement triviale, mais je suis novice et autodidacte en POO et je n'arrive pas à m'en sortir seul...
Pour (essayer d') être tout à fait clair, je vous expose mon problème :
Dans le plan cartésien , je veux faire des calculs sur des points M(x,y)...
1) J'ai créé une classe pour définir mes objets de base, cad mes points 2D :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
class Point2D(object) :
   def __init__(self,x,y)
      self.x=x
      self.y=y
2) J'ai créé une méthode qui calcule la distance euclidienne entre deux points :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
   def distance(self, other)
      delta_x=self.x-other.x
      delta_y=self.y-other.y
      return (delta_x**2+delta_y**2)**0.5
J'étais déjà très fier d'arriver à ce résultat (mine de rien le coup du "other" n'est quand même pas complètement évident...)...

Le pb sur lequel je butte est le suivant :
Je voudrais écrire une méthode qui calcule la surface d'un polygone défini par 3 instances OU PLUS de la classe Point2D...
Plusieurs formules classiques sont disponibles...par exemple somme des (xi-1-xi+1)*yi/2 en valeur absolue...
Mon problème est que le nombre de points à prendre en compte n'est pas connu à priori...
Comment dois-je écrire ma fonction ?
def surface(self, *args) ?
ou alors
def surface (*args) ?

Comment ensuite écrire le cœur de ma fonction pour récupérer les coordonnées des points passés en référence et calculer la surface du polygone ?

Encore merci pour votre aide...