Programme pour faire de la trigonométrie.
SQRT veut dire racine carrée. Et écrire pi dans l’entrée texte pour en avoir la valeur.
from math import * from kandinsky import * from ion import * BACK=(255,)*3 COLOR=(0,)*3 COS_COLOR=(255,0,0) SIN_COLOR=(0,0,255) ANG_COLOR=(0,255,0) ang_txt="" sin_txt="" cos_txt="" a_input="pi/3" a=0 def draw_line(x1,y1,x2,y2,c): width=x2-x1 height=y2-y1 if abs(width)>=abs(height): div=height/width for i in range(0,width,(width>0)*2-1): set_pixel(x1+i,y1+int(div*i),c) else: div=width/height for i in range(0,height,(height>0)*2-1): set_pixel(x1+int(div*i),y1+i,c) def draw_all(): fill_rect(0,0,320,222,BACK) fill_rect(0,160,320,1,COLOR) fill_rect(0,80,320,1,COLOR) fill_rect(160,0,1,160,COLOR) for i in range(500): set_pixel(160+int(cos(i/500*2*pi)*70),80-int(sin(i/500*2*pi)*70),COLOR) x,y=160+int(cos(a)*70),80-int(sin(a)*70) draw_line(160,80,x,y,COLOR) for i in range(int(500*a/(2*pi))): set_pixel(160+int(cos(i/500*2*pi)*20),80-int(sin(i/500*2*pi)*20),ANG_COLOR) fill_rect(0,y,320,1,SIN_COLOR) fill_rect(x,0,1,160,COS_COLOR) draw_string(" a ="+ang_txt,5,162,ANG_COLOR,BACK) draw_string("sin(a)="+sin_txt,5,182,SIN_COLOR,BACK) draw_string("cos(a)="+cos_txt,5,202,COS_COLOR,BACK) fill_rect(240,170,70,40,(200,200,0)) draw_string("Ok pour",240,173,(0,)*3,(200,200,0)) draw_string("changer",240,193,(0,)*3,(200,200,0)) def get_txt_values(a): l=[ ["0" ,"0" ,"1"], ["pi/6" ,"0.5" ,"sqrt(3)/2"], ["pi/4" ,"sqrt(2)/2","sqrt(2)/2"], ["pi/3" ,"sqrt(3)/2","0.5"], ["pi/2" ,"1" ,"0"], ["2*pi/3" ,"sqrt(3)/2","-0.5"], ["3*pi/4" ,"sqrt(2)/2","-sqrt(2)/2"], ["5*pi/6" ,"0.5" ,"-sqrt(3)/2"], ["pi" ,"0" ,"-1"], ["-pi/6" ,"-0.5" ,"sqrt(3)/2"], ["-pi/4" ,"-sqrt(2)/2","sqrt(2)/2"], ["-pi/3" ,"-sqrt(3)/2","0.5"], ["-pi/2" ,"-1" ,"0"], ["-2*pi/3","-sqrt(3)/2","-0.5"], ["-3*pi/4","-sqrt(2)/2","-sqrt(2)/2"], ["-5*pi/6","-0.5" ,"-sqrt(3)/2"], ] for i in l: if eval(i[0])%(2*pi)==a: return i while a_input!="": a=eval(a_input)%(2*pi) if get_txt_values(a): ang_txt,sin_txt,cos_txt=get_txt_values(a) else: ang_txt,sin_txt,cos_txt=str(a)[:8],str(sin(a))[:8],str(cos(a))[:8] draw_all() while not keydown(KEY_OK): pass a_input=input("Valeur de l'angle, en radians:") print("Rien mis, donc fin du programme")