Created
January 22, 2018 20:52
-
-
Save bastoche/95f4b3c9117b6ba2e15917ba00b8f0b2 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
from math import * | |
from upemtk import * | |
from time import sleep,time | |
taille = 600 | |
r = taille // 2 | |
x,y = (taille//2,taille//2) | |
dico ={} | |
pas = 0.01 | |
decimale = len(str(pas))-2 | |
modulo = 855 | |
multi = 2 | |
c1,c2,c3,c4 = ("darkblue","black","red","blue") | |
teta = pi/2 | |
figure = 100 | |
""" | |
le programme est la représentation graphique des table de multiplication d'ou multiplication et table de multiplication | |
si tu mets le pas = 1, tu dois mettre décimale 0 et modifier le sleep tout en bas en mettant 0.1 | |
#taille de la fenetre je te conseille de mettre 800 et 1000 si ton écran est grand | |
# r pour rayon | |
# pas pour la fluidité de l'image<,tu peux mettre 0,001 peut etre que ça vas marcher | |
# modulo le nombre de traits plus tu augmente la taille de fênetre , plus tu augmente le modulo | |
#multi représente la table de multiplication | |
# c .... si tu veux modifie les couleur | |
#figure : le progamme s'arrete a la figure qui représente sa table, plus tu augmente et plus l'animation dura longtemps | |
et plus l'animation sera stylé | |
""" | |
def points(nombre,teta1 = pi/2,teta2 = pi/2): | |
i = cos (teta1 + (nombre/modulo*pi*2)) * r | |
j = sin (teta2 + (nombre/modulo*pi*2)) * r | |
return (x+i,y-j) | |
""" | |
for M in range(modulo): | |
chaine = str(M) | |
dico[chaine] = points(M) #je l'ai sauvegarde dans un dictionnaire, pour pas faire les calcules 2 foix | |
#cercle(x+i, y-j, 1,'red','red') | |
return None | |
""" | |
def remplis(Range): | |
var = Range | |
for M in range(modulo): | |
n = round(M % modulo,decimale) | |
chaine = str(n) | |
if not(chaine in dico) : | |
dico[chaine] = points(n,teta) | |
#cercle(x+i, y-j, 1,'red','red') | |
var += Range | |
return None | |
def programme(multi,modulo): | |
for M in range(0,modulo,2): | |
n = round((M * multi) % modulo,decimale) | |
x1,y1 = points(M) | |
x2,y2 = points(n) | |
ligne(x1, y1, x2, y2,c1) | |
for M in range(1,modulo,2): | |
n = round((M * multi) % modulo,decimale) | |
x1,y1 = points(M,teta) | |
x2,y2 = points(n,teta) | |
ligne(x1, y1, x2, y2,c1) | |
return None | |
def animation(figure,multi,modulo): | |
while multi <= figure: | |
efface_tout() | |
#partie graphique | |
rectangle(0,0,taille,taille,remplissage="white") | |
cercle(x, y, r, couleur='black', remplissage='', epaisseur=1, tag='') | |
texte(taille-110, 30, "table de :",c2,"nw","Purisa",10) | |
texte(taille-50, 30, str(round(multi,decimale)),c3,"nw","Purisa",10) | |
texte(taille-90, 65, "modulo :",c2,"nw","purisa",10) | |
texte(taille-40, 65, str(modulo),c3,"nw","purisa",10) | |
#le programme | |
programme(multi,modulo) | |
multi += pas | |
#modulo += 1 | |
round(multi,decimale) | |
mise_a_jour() | |
sleep(pas) | |
return None | |
cree_fenetre(taille,taille) | |
def poly(modulo,teta,c): | |
for M in range(modulo): | |
x1,y1 = points(M,teta) | |
x2,y2 = points( (M+1) % modulo,teta) | |
ligne(x1, y1, x2, y2,c,2) | |
return None | |
def rotation_poly(teta): | |
while True: | |
efface_tout() | |
rectangle(0,0,taille,taille,remplissage="white") | |
cercle(x, y, r, couleur='black', remplissage='', epaisseur=1, tag='') | |
poly(modulo,teta,c1) | |
poly(modulo,-teta,c2) | |
poly(modulo,-teta * 2,c3) | |
poly(modulo,teta * 2,"darkviolet") | |
mise_a_jour() | |
teta += 0.01 | |
sleep(0) | |
animation(figure,multi,modulo) | |
attente_clic() |
https://gist.github.com/bastoche/95f4b3c9117b6ba2e15917ba00b8f0b2#file-ninja-py-L35
tu devrais utiliser un outil comme pycodestyle pour améliorer la lisibilité de ton code
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
https://gist.github.com/bastoche/95f4b3c9117b6ba2e15917ba00b8f0b2#file-ninja-py-L91
les magic numbers c'est mal