#-*-coding:utf8-*- from sympy import * class Point: def __init__(self, feuille, Z): self.Z = Z self.feuille = feuille x = self.re y = self.im self.point = self.feuille.create_rectangle(x, y, x+3, y+3, fill='red') def __add__(self, complexe): self.Z += complexe.Z return self def _getX(self): return complex(self.Z).real re = property(fget = _getX) def _getY(self): return complex(self.Z).imag im = property(fget = _getY) def affiche(self): x=self.re y=self.im x0=self.feuille.winfo_height()/2 y0=self.feuille.winfo_width()/2 self.feuille.coords(self.point, x0+x, y0-y, x0+x+3, y0-y-3) def rotation(self,centre,angle): self.Z = exp(angle*I)*(self.Z-centre) + centre self.affiche() def translation(self,affixe): self.Z += affixe self.affiche()