Bonjour,
J’ai écrit un programme en langage python qui me permet de créer une boucle, qui passe par 4 points, maintenant j’aimerai écrire un programme qui me permeterai de placer sur les lignes de la boucle n points rouges se déplacant ( j’essaye de modéliser un réseau de transports). Ce deuxième programme me pose problème auriez vous des pistes, ou un programme similaire a me conseiller .
Merci bcp
je met mon programme ci dessous:
from tkinter import Tk, Canvas
x_min = -5000
x_max = 5000
y_min = -5000
y_max = 5000
from random import random
def Aléa(a = 0, b = 1) :
return a + (b - a) * random()
from numpy import cos, sin, pi as π
def CréerLigne(n) :
Θ = sorted([Aléa(0, 2 * π) for _ in range(n)])
Stations = []
for k in range(n) :
θ = Θ[k] % (π / 2)
if θ > π / 4 :
θ = π / 2 - θ
r_max = x_max / cos(θ)
r = Aléa(0.3 * r_max, 0.9 * r_max)
Stations.append( (r * cos(Θ[k]), r * sin(Θ[k])) )
return Stations
n = 4
DIM = 600
def PixelVersCoordonnées(px, py) :
x = x_min + (x_max - x_min) * px / (DIM - 1)
y = y_max - (y_max - y_min) * py / (DIM - 1)
return (x, y)
def CoordonnéesVersPixel(x, y) :
px = int((x - x_min) / (x_max - x_min) * (DIM - 1))
py = int((y_max - y) / (y_max - y_min) * (DIM - 1))
return (px, py)
def Simulation() :
F = Tk() ; F.title("Métropolitain miniature")
C = Canvas(F, width = DIM, height = DIM, background = "#aaa")
C.pack()
Stations = [(2484.2051465742793, 4036.0330629760906), (-2520.221328393551, -501.45504151300406), (-1915.9534272380367, -3147.810933949548), (1534.818374770701, -4468.517925592077)]
for k in range(n) :
(px1, py1) = CoordonnéesVersPixel(*Stations[ k-1])
(px2, py2) = CoordonnéesVersPixel(*Stations[3])
C.create_line(px1, py1, px2, py2, fill = "#000")
for k in range(n) :
(px, py) = CoordonnéesVersPixel(*Stations[k])
C.create_oval(px - 5, py - 5, px + 5, py + 5, fill = "#fff")
F.mainloop() ```
+0
-0