le mini projet désolé pour le retard...
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

56 lines
1.8 KiB

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()