Cercle

loupiote03 Messages postés 2 Date d'inscription   Statut Membre Dernière intervention   -  
 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

ElementW Messages postés 4814 Date d'inscription   Statut Contributeur Dernière intervention   1 223
 
'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
loupiote03 Messages postés 2 Date d'inscription   Statut Membre Dernière intervention  
 
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
jisisv Messages postés 3645 Date d'inscription   Statut Modérateur Dernière intervention   934
 
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
loupiote03
 
c'est gentil mais en fait j'ai fini mon programme ^_^ Merci quand même :D
0