Points sur cercle tkinter
Résolu
pcsijsuispasforteninfo
-
pcsijsuispasforteninfo -
pcsijsuispasforteninfo -
Bonjour,
Je viens ici pour vous demander de l'aide.
J'ai un projet d'info à faire sur la multiplication modulaire (figure à l'intérieur d'un cercle, bref ce n'est pas le plus important), et je bloque sur une partie où je dois répartir équitablement des points sur un cercle (même distance entre n-1 / n qu'entre n / n+1).
Je m'explique, j'ai déjà réussi à créer mon cercle avec tkinter et quelques lignes de codes mais maintenant, je ne sais pas comment faire pour, par exemple si je choisis la valeur 10, avoir 10 points équitablement répartis tout autour du cercle.
Je viens ici pour vous demander de l'aide.
J'ai un projet d'info à faire sur la multiplication modulaire (figure à l'intérieur d'un cercle, bref ce n'est pas le plus important), et je bloque sur une partie où je dois répartir équitablement des points sur un cercle (même distance entre n-1 / n qu'entre n / n+1).
Je m'explique, j'ai déjà réussi à créer mon cercle avec tkinter et quelques lignes de codes mais maintenant, je ne sais pas comment faire pour, par exemple si je choisis la valeur 10, avoir 10 points équitablement répartis tout autour du cercle.
A voir également:
- Cercle python
- Citizen code python avis - Accueil - Outils
- Mot secret python pix ✓ - Forum Python
- Comment enlever le cercle bleu sur whatsapp - Guide
- Programme python ✓ - Forum Python
- Afficher un message sur python "" ✓ - Forum Python
4 réponses
yg_be
Messages postés
24281
Date d'inscription
Statut
Contributeur
Dernière intervention
Ambassadeur
1 585
bonjour, cherches-tu les coordonnées cartésiennes de ces 10 points, ou cherches-tu autre chose?
yg_be
Messages postés
24281
Date d'inscription
Statut
Contributeur
Dernière intervention
Ambassadeur
1 585
un exemple:
import math
import tkinter
import numpy
rayon=300
npoints=10
taillepoint=rayon/npoints/5
xcentre=rayon+taillepoint
ycentre=xcentre
x=[ycentre+rayon*math.sin(math.pi*2*i/npoints) for i in range(npoints)]
y=[ycentre+rayon*math.cos(math.pi*2*i/npoints) for i in range(npoints)]
desk=tkinter.Tk()
w = tkinter.Canvas(desk, width=2*(rayon+taillepoint), height=2*(rayon+taillepoint),bd=0,highlightthickness=0)
w.pack()
w.create_oval(xcentre-rayon,ycentre-rayon,xcentre+rayon,ycentre+rayon)
for i in range(npoints):
w.create_line(x[i],y[i],x[(i+1)%npoints],y[(i+1)%npoints],fill="red")
w.create_oval(x[i]-taillepoint,y[i]-taillepoint,x[i]+taillepoint,y[i]+taillepoint,fill="blue")
En gros, mon but est, pour un cercle tracé, de placer sur ce cercle des points (nombre de points défini au préalable), et d'ensuite tracer des segments entre les points dont le modulo est le même.
Micmaths a fait une vidéo sur le sujet : https://youtu.be/-X49VQgi86E
Merci pour le code je vais voir ce que ça donne.
Micmaths a fait une vidéo sur le sujet : https://youtu.be/-X49VQgi86E
Merci pour le code je vais voir ce que ça donne.
yg_be
Messages postés
24281
Date d'inscription
Statut
Contributeur
Dernière intervention
Ambassadeur
1 585
il ne s'agit pas de tracer des segments entre les points dont le module est le même, ces segments seraient invisibles.
suggestion:
suggestion:
import math
import tkinter
rayon=300
npoints=10
multiplicateur=3
xcentre=rayon+5
ycentre=xcentre
def angle(nombre,npoints):
return math.pi*(-1/2-2*(nombre%npoints)/npoints)
desk=tkinter.Tk()
w = tkinter.Canvas(desk, width=2*xcentre, height=2*ycentre,bd=0,highlightthickness=0)
w.pack()
w.create_oval(xcentre-rayon,ycentre-rayon,xcentre+rayon,ycentre+rayon)
for i in range(npoints):
w.create_line(xcentre+rayon*math.cos(angle(i,npoints)),
ycentre-rayon*math.sin(angle(i,npoints)),
xcentre+rayon*math.cos(angle(i*multiplicateur,npoints)),
ycentre-rayon*math.sin(angle(i*multiplicateur,npoints))
,fill="red")
En fait je cherche à placer sur le périmètre du cercle des points, peu importe leurs coordonnées, j'ai laissé l'origine du répère en haut à gauche de la fenêtre tkinter.
Mon but est de placer sur le cercle un certain nombre de points que je choisis préalablement.
Voici un exemple pour 10 points (modulo 10) pour la table de 2.
https://www.google.com/search?q=multiplication+modulaire&client=ms-android-huawei-rev1&prmd=isvn&source=lnms&tbm=isch&sa=X&ved=2ahUKEwip2OCLw9DmAhXRkFwKHdimClIQ_AUoAXoECA8QAQ#imgrc=rrSDG5VGuTUA3M
J'aimerais pouvoir faire ça avec python, mais je n'ai aucune idée de comment faire.
Cordialement
qu'est-ce qui te bloque? tracer une ligne entre deux points, ou trouver les coordonnées des points?