Cercle

loupiote03 Messages postés 3 Statut Membre -  
 loupiote03 -
yo tout le monde!

Je cherche à tracer un cercle sous python et à y ajouter un nombre variable de points, qui seraient à distance égales les uns des autres.

mais je n'arrive pas à les faire équidistant, quelqu'un saurait-il m'aider svp? merci!

2 réponses

  1. ElementW Messages postés 5690 Statut Contributeur 1 293
     
    'lut, ce serait déjà bien de préciser ce que tu utilises pour faire l'affichage...
    Ceci dit mathématiquement, chaque point ce trouve a une coodonnée
    (cos(x)*r+Ox, sin(x)*r+Oy)

    -
    r
    le rayon du cercle
    -
    Ox
    et
    Oy
    coordonnées de l'origine du cercle
    -
    x
    est l'angle du point, en radian équivalent à
    k*(2π/n)
    ,
    n
    étant le nombre total de points et
    k
    le numéro du point
    0
    1. loupiote03 Messages postés 3 Statut Membre
       
      exact, j'utilise tkinter, c'est pas super efficace mais je sais pas utiliser autre chose pour l'instant.
      Merci pour ta réponse je vais essayer d'avancer :D
      0
  2. jisisv Messages postés 3678 Statut Modérateur 936
     
    Inspire-toi de ceci:
    #! /usr/bin/python3
    from tkinter import *
    from math import pi, cos, sin
    master = Tk()
    
    canvas_width = 320
    canvas_height = 320
    w = Canvas(master, 
               width=canvas_width,
               height=canvas_height)
    #st = master.Label(text="Message")
    
    message = Label( master, text = "Message:" )
    message.pack( side = LEFT )
    entrymessage=Entry(master)
    w.pack()
    w.create_oval( 10 , 10, 310, 310, fill="#3377FF")
    
    n=10
    delta = 2 * pi /n
    theta=0
    
    for dummy  in range(0, n):
        x = 160 + 150 * cos(theta)
        y = 160 + 150 * sin(theta)
        theta += delta
        w.create_oval(x - 2, y - 2, x + 2, y + 2, fill="#FF0000")
     
    mainloop()
    
     


    Voir par exemple Canvas Widgets
    Gates gave ^W sold you the windows.
    GNU gave us the whole house.(Alexandrin)
    0
    1. loupiote03
       
      c'est gentil mais en fait j'ai fini mon programme ^_^ Merci quand même :D
      0