Bonjour, j'ai un exercice à faire en Python, mais je n'y parviens pas...
J'ai un carré inscrit dans un repère (O; i, j), représente sur la pièce jointe suivante :
Je cherche donc à faire rebondir un point matériel dans ce carré. Le carré est néanmoins coupé par un segment [AB] (A(200;0) et B(300;300).
J'ai donc trouvé l'équation de la droite (AB) qui est : y = 3*x + 600, mais je n'arrive pas à faire en sorte que le point rebondisse sur cette droite...
Voici mon code python :
##############
##############
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43 import tkinter as tk import time largeurFenetre = 300 hauteurFenetre = 300 r = 2 global x,y,vx,vy, can1 x = largeurFenetre/2 y = hauteurFenetre/2 vx = -2 vy = 3 fen1 = tk.Tk() can1 = tk.Canvas(fen1, width =largeurFenetre, height = hauteurFenetre, bg ='brown') can1.pack() can1.create_line(200, 0, 300, 300) def bougeCible(): global can1,x,y,vx,vy if (y <= 2 and x <= 200) or (y >= 298 and x <= 300): vy = -vy if x < 2 : vx = -vx if (x>= 200 and x<= 300) and (y <= 3*x + 600): aux = y y = -x x = -aux can1.create_oval(x-r, y-r, x+r, y+r, outline='brown', fill='brown') x=x+vx y=y+vy can1.create_oval(x-r, y-r, x+r, y+r, outline='black', fill='red') can1.after(2,bougeCible) bougeCible() fen1.mainloop()
Je débute sur Python et j'aimerai bien réussir à faire rebondir la balle (le point matériel), sur le segment [AB], comme j'arrive à le faire sur les autres côtés du carré...
Merci de votre aide,
Alexandre.
Partager