1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51
|
from Tkinter import *
from math import *
def evaluer(event):
b1,b2,b3,b4=bal1.get(),bal2.get(),bal3.get(),bal4.get()
b=[float(b1),float(b2),float(b3),float(b3)] ## Les valeurs renvoie par les balances/capteurs
b.sort() ## Tri la liste par ordre croissant
b.reverse() ## Inverse la liste (ordre decroissant)
cotecible=70. ## Reglage des dimensions de la cible
demidiag=sqrt(cotecible**2/2) ## Calcul de la longueur de la demi-diagonale de la cible
d1=(demidiag/10)*((120-b[0])/8) ##Distance de l'impact de la balance renvoyant la plus grande valeur
d2=(demidiag/10)*((120-b[1])/8) ##Distance de l'impact de la balance renvoyant la deuxieme plus grande valeur
cosalpha=-((d1**2-d2**2-cotecible**2)/(2*d2*cotecible)) ##Cosinus de l'angle inconu
alpha=degrees(acos(cosalpha)) ##Valeur de l'angle inconu
distancecentre = sqrt((2*(cotecible/2)**2)+d2**2-2*sqrt(2*(cotecible/2)**2)*d2*cos(radians(45-alpha)))
##Calcule de la distance entre le centre de la cible et le point d'impact
score = int(((demidiag-distancecentre)/(demidiag/10))+1)
tex2.configure(text=score)
fen1=Tk()
tex1=Label(fen1, text="Calcul du score effectue lors d'un tir ", fg='red')
tex1.pack()
bal1= Entry(fen1).pack()
bal2= Entry(fen1).pack()
bal3 = Entry(fen1).pack()
bal4 = Entry(fen1).pack()
tex2=Label(fen1).pack()
calculscore=Button(fen1, text="Calculer", command=evaluer).pack()
fen1.mainloop() |
Partager