def liage(self, *other): """ Relie les points dans l'ordre des arguments """ other = list(other) if type(other[0]) == list: otherKick = list(other[0]) del other[0] for element in otherKick: other.append(element) firstElement = other[0] del other[0] other.append(firstElement) tortue = fonc.tortue() tortue.speed("fastest") tortue.up() tortue.goto(self.x, self.y) for point in range(len(other)): tortue.down() tortue.goto(other[point].x, other[point].y) tortue.up() fichier = open("data.txt", 'a') if len(other) > 2: segment = cs.Segment(other[point - 1], other[point]) fichier.write("[" + other[point - 1].name + other[point].name + "] = " + str(segment.longueur()) + "\n") elif len(other) <= 2: segment = cs.Segment(self, other[point]) fichier.write("[" + self.name + other[point].name + "] = " + str(segment.longueur()) + "\n") fichier.close() tortue.ht()
def tracage(self): """ Trace la fonction """ tortue = fonc.tortue() tortue.speed(0) tortue.up() precision = 1800 * 2 # 1800 precision normale avec un tracage de 1x par 1x for i in range(-precision, precision): u = i * (1800 / precision) print(str(u) + " " + str(self.y(u))) tortue.goto(u, self.y(u)) tortue.down() tortue.ht() tortue.up()
def tangente(self, a): derive = self.derive() tangente = str( derive.y(a)) + "*" + "(x-" + "(" + str(a) + ")" + ")" + "+" + str( self.y(a)) tortue = fonc.tortue() tortue.speed(0) tortue.up() precision = 1 * 2 # 1800 precision normale avec un tracage de 1x par 1x for i in range(-precision, precision): u = i * (1800 / precision) print(str(u) + " " + str(eval(tangente.replace("x", str(u))))) tortue.goto(u, eval(tangente.replace("x", str(u)))) tortue.down() tortue.ht() tortue.up() return tangente
def tracage(self, dictVecteur={}, information= "O"): """ Trace le vecteur """ tortue = fonc.tortue() tortue.up() tortue.home() tortue.down() tortue.goto(self.x,self.y) tortue.up() if information == "O": tortue.write("V[" + str(self.name) + "]" + "\n" + "(" + str(round(self.x, 1)) + ";" + str(round(self.y, 1)) + ")") if self.y >= 0: tortue.left(self.angle_degree(Vecteur(dictVecteur, "", 100,0))) if self.y <= 0: tortue.right(self.angle_degree(Vecteur(dictVecteur, "", 100,0))) fichier = open("data.txt", 'a') fichier.write("V[" + str(self.name) + "] : (" + str(round(self.x, 1)) + ";" + str(round(self.y, 1)) + ")" + "\n") fichier.close()
def tracage(self, information="O"): """ Trace le point dans le repere """ tortue = fonc.tortue() tortue.speed("fastest") tortue.up() tortue.goto(self.x, self.y) tortue.dot(5) if information == "O": tortue.write( str(self.name) + "\n" + "(" + str(round(self.x, 1)) + ";" + str(round(self.y, 1)) + ")" + "\n" + "m = " + str(self.masse)) tortue.down() fichier = open("data.txt", 'a') fichier.write( str(self.name) + ": (" + str(round(self.x, 1)) + ";" + str(round(self.y, 1)) + ")" + " m = " + str(self.masse) + "\n") fichier.close() tortue.ht()
precision = 1 * 2 # 1800 precision normale avec un tracage de 1x par 1x for i in range(-precision, precision): u = i * (1800 / precision) print(str(u) + " " + str(eval(tangente.replace("x", str(u))))) tortue.goto(u, eval(tangente.replace("x", str(u)))) tortue.down() tortue.ht() tortue.up() return tangente def factorisation(self): """ Renvoie en string la factorisation de la fonction """ facteur = str() for index in range(1, len(self.coef), 2): facteur += "(" + str(self.coef[index]) + ")*" return facteur if __name__ == "__main__": print("Lancement du module __Fonction__ en cours...") fonc.repere(fonc.tortue()) f = Polynome(4, 1, 2) for i in range(-1, 1): i *= 100 print(f.tangente(i)) f.tangente(i) print("Fin du module.") while 1: os.system("pause")