Python programme
Bonjour,
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
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
Configuration: Macintosh / Safari 14.0.3
4 réponses
-
oui en effet il manque la premiere partie du code qui est celle ci:
from tkinter import Tk, Canvas ## Création d'une ligne (en boucle pour simplifier) à n stations # Le domaine de coordonnées est [-5000, 5000] (en mètres) x_min = -5000 x_max = 5000 y_min = -5000 y_max = 5000 # Loi uniforme sur [a, b[ 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) : # On choisit les positions des stations en coordonnées polaires Θ = 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 ## Interface graphique pour la simulation # Nombre de stations n = 4 # Largeur et hauteur (en pixels) du dessin DIM = 600 # Conversions pixels/coordonnées 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)
c'est bien le problème, je ne vois pas comment je pourrais arriver a implanter des point en mouvement sur ma simulation