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

Configuration: Macintosh / Safari 14.0.3

4 réponses

  1. 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
    1. Contributeur
      commence pas ajouter des points fixes.
      il suffira ensuite de les effacer et de les placer ailleurs.