Bonjour,
Extrêmement débutant en python, je cherche à calculer l'enveloppe convexe
d'un nuage de points.
Dans un premier temps je cherche à stocker en mémoire le nuage de point sous
la forme d'une liste d'objets, liste_y(x,liste[y]).
Pour remplir cette liste j'ai besoin de 3 méthodes :
- sort, résolu en définissant une méthode __cmp__
- index
- in
Ma question est, que définir pour pouvoir utiliser index et in ?
Cordialement.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Gerard Flanagan
wrote:
Bonjour, Extrêmement débutant en python, je cherche à calculer l'enveloppe c onvexe d'un nuage de points. Dans un premier temps je cherche à stocker en mémoire le nuage de poi nt sous la forme d'une liste d'objets, liste_y(x,liste[y]). Pour remplir cette liste j'ai besoin de 3 méthodes : - sort, résolu en définissant une méthode __cmp__ - index - in
Ma question est, que définir pour pouvoir utiliser index et in ? Cordialement.
def sort(self): d = dict( [ [(P[0],P[1]), P] for P in self.points ] ) self.points = [ d[x,y] for x,y in sorted(d.keys()) ]
def __contains__(self, item ): for P in self.points: if P == item: return True
def index(self, item): for i,P in enumerate(self.points): if P == item: return i raise ValueError, '%s not in Hull' % str(item)
def __repr__(self): return str(self.points)
h = Hull() h.points.append( Vector(1,2) ) assert (0,0) not in h assert (1,2) in h print h print h.index((1,2))
v1 = Vector(1,1) v2 = Vector(1,2) h.append(v1) h.append(v2) print h assert v1 in h assert (1,1) in h h.append( Vector(0,0) ) print h h.sort() print h
----------------------------------------------
Gerard
jean-barnard.jacquet@wanadoo.fr wrote:
Bonjour,
Extrêmement débutant en python, je cherche à calculer l'enveloppe c onvexe
d'un nuage de points.
Dans un premier temps je cherche à stocker en mémoire le nuage de poi nt sous
la forme d'une liste d'objets, liste_y(x,liste[y]).
Pour remplir cette liste j'ai besoin de 3 méthodes :
- sort, résolu en définissant une méthode __cmp__
- index
- in
Ma question est, que définir pour pouvoir utiliser index et in ?
Cordialement.
Bonjour, Extrêmement débutant en python, je cherche à calculer l'enveloppe c onvexe d'un nuage de points. Dans un premier temps je cherche à stocker en mémoire le nuage de poi nt sous la forme d'une liste d'objets, liste_y(x,liste[y]). Pour remplir cette liste j'ai besoin de 3 méthodes : - sort, résolu en définissant une méthode __cmp__ - index - in
Ma question est, que définir pour pouvoir utiliser index et in ? Cordialement.
def sort(self): d = dict( [ [(P[0],P[1]), P] for P in self.points ] ) self.points = [ d[x,y] for x,y in sorted(d.keys()) ]
def __contains__(self, item ): for P in self.points: if P == item: return True
def index(self, item): for i,P in enumerate(self.points): if P == item: return i raise ValueError, '%s not in Hull' % str(item)
def __repr__(self): return str(self.points)
h = Hull() h.points.append( Vector(1,2) ) assert (0,0) not in h assert (1,2) in h print h print h.index((1,2))
v1 = Vector(1,1) v2 = Vector(1,2) h.append(v1) h.append(v2) print h assert v1 in h assert (1,1) in h h.append( Vector(0,0) ) print h h.sort() print h
----------------------------------------------
Gerard
jean-barnard.jacquet
Gerard Flanagan wrote:
wrote:
Bonjour, Extrêmement débutant en python, je cherche à calculer l'enveloppe convexe d'un nuage de points. Dans un premier temps je cherche à stocker en mémoire le nuage de point sous la forme d'une liste d'objets, liste_y(x,liste[y]). Pour remplir cette liste j'ai besoin de 3 méthodes : - sort, résolu en définissant une méthode __cmp__ - index - in
Ma question est, que définir pour pouvoir utiliser index et in ? Cordialement.
def sort(self): d = dict( [ [(P[0],P[1]), P] for P in self.points ] ) self.points = [ d[x,y] for x,y in sorted(d.keys()) ]
def __contains__(self, item ): for P in self.points: if P == item: return True
def index(self, item): for i,P in enumerate(self.points): if P == item: return i raise ValueError, '%s not in Hull' % str(item)
def __repr__(self): return str(self.points)
h = Hull() h.points.append( Vector(1,2) ) assert (0,0) not in h assert (1,2) in h print h print h.index((1,2))
v1 = Vector(1,1) v2 = Vector(1,2) h.append(v1) h.append(v2) print h assert v1 in h assert (1,1) in h h.append( Vector(0,0) ) print h h.sort() print h
----------------------------------------------
Gerard Bonjour,
Merci, il y a même une solution. Je me suis fixé un cahier des charges avec tkinter, il n'y a plus qu'a ... Cordialement.
Gerard Flanagan wrote:
jean-barnard.jacquet@wanadoo.fr wrote:
Bonjour,
Extrêmement débutant en python, je cherche à calculer l'enveloppe convexe
d'un nuage de points.
Dans un premier temps je cherche à stocker en mémoire le nuage de point
sous la forme d'une liste d'objets, liste_y(x,liste[y]).
Pour remplir cette liste j'ai besoin de 3 méthodes :
- sort, résolu en définissant une méthode __cmp__
- index
- in
Ma question est, que définir pour pouvoir utiliser index et in ?
Cordialement.
Bonjour, Extrêmement débutant en python, je cherche à calculer l'enveloppe convexe d'un nuage de points. Dans un premier temps je cherche à stocker en mémoire le nuage de point sous la forme d'une liste d'objets, liste_y(x,liste[y]). Pour remplir cette liste j'ai besoin de 3 méthodes : - sort, résolu en définissant une méthode __cmp__ - index - in
Ma question est, que définir pour pouvoir utiliser index et in ? Cordialement.