import tkinter as tk # Fonction qui trace la droite y = ax + b sur le canvas def trace(): a = int(entry_a.get()) # Récupère la valeur de a b = int(entry_b.get()) # Récupère la valeur de b canvas.delete("all") # Efface le contenu du canvas avant de redessiner # Dessine l'axe des abscisses au milieu du canvas canvas.create_line(0, 150, 400, 150, fill="black") # Dessine l'axe des ordonnées au milieu du canvas canvas.create_line(200, 0, 200, 300, fill="black") # Définit deux points extrêmes pour tracer la droite x1, y1 = -200, a * -200 + b x2, y2 = 200, a * 200 + b # Convertit les coordonnées mathématiques en pixels y1_pixel = 150 - y1 y2_pixel = 150 - y2 # Dessine la droite en rouge canvas.create_line(x1 + 200, y1_pixel, x2 + 200, y2_pixel, fill="red", width=2) # Création de la fenêtre principale root = tk.Tk() root.title("Traceur de droite") # Ajout d'un cadre pour organiser les éléments top_frame = tk.Frame(root) top_frame.pack(pady=10) # Titre de l'application tk.Label(top_frame, text="Traceur de droite : y = ax + b", font=("Arial", 14, "bold")).grid(row=0, column=0, columnspan=2, pady=5) # Champ de saisie pour le coefficient a tk.Label(top_frame, text="Coefficient a :").grid(row=1, column=0) entry_a = tk.Entry(top_frame) entry_a.grid(row=1, column=1) # Champ de saisie pour le coefficient b tk.Label(top_frame, text="Coefficient b :").grid(row=2, column=0) entry_b = tk.Entry(top_frame) entry_b.grid(row=2, column=1) # Bouton pour tracer la droite btn_trace = tk.Button(top_frame, text="Tracer la droite", command=trace) btn_trace.grid(row=3, column=0, columnspan=2, pady=10) # Zone de dessin pour afficher la droite canvas = tk.Canvas(root, width=400, height=300, bg="white") canvas.pack(pady=10) # Lancement de la boucle principale root.mainloop()