unitsize(6cm);
void ajouter_angle(real angle, string etiquette, bool sur_axes)
{
pair coor=(cos(angle),sin(angle));
dot(coor);
label(etiquette,coor,align=1.5*dir(coor));
if (sur_axes)
  {
  draw((0,coor.y)--coor--(coor.x,0),linewidth(0.5pt));
  }
}


void cercle_base()
{
draw(unitcircle,linewidth(1.2pt));
draw((-1,0)--(1,0),linewidth(1.2pt),Arrow(2mm));
draw((0,-1)--(0,1),linewidth(1.2pt),Arrow(2mm));
dot((-1,0));
label("$\pi$",(-1,0),align=1.5*NW);
label("$-\pi$",(-1,0),align=1.5*SW);
label("$\cos$",(1,0),align=5*E);
label("$\sin$",(0,1),align=7*N);
label(scale(.7)*"0",(0,0),align=NE);
label(scale(.7)*"0",(0,0),align=SW);
label(scale(.7)*"1",(1,0),align=NW);
label(scale(.7)*"-1",(-1,0),align=NE);
label(scale(.7)*"1",(0,1),align=SE);
label(scale(.7)*"-1",(0,-1),align=NE);
ajouter_angle(pi/2,"$\frac{\pi}{2}$",false);
ajouter_angle(-pi/2,"$-\frac{\pi}{2}$",false);
ajouter_angle(0,"$0$",false);
draw(Label("+",align=NE),arc((0,0),1.3,40,50),ArcArrow);
}

void valeurs_particulieres()
{
draw(Label(scale(.7)*"$\frac{1}{2}$",align=2*N),box,(.5,0),FillDraw(1,1,white,black));
dot((.5,0));
draw(Label(scale(.7)*"$-\frac{1}{2}$",align=2*N),box,(-.5,0),FillDraw(1,1,white,black));
dot((-.5,0));
draw(Label(scale(.7)*"$\frac{\sqrt{2}}{2}$",align=2*N),box,(sqrt(2)/2,0),FillDraw(1,1,white,black));
dot((sqrt(2)/2,0));
draw(Label(scale(.7)*"$-\frac{\sqrt{2}}{2}$",align=2*N),box,(-sqrt(2)/2,0),FillDraw(1,1,white,black));
dot((-sqrt(2)/2,0));
draw(Label(scale(.7)*"$\frac{\sqrt{3}}{2}$",align=2*N),box,(sqrt(3)/2,0),FillDraw(1,1,white,black));
dot((sqrt(3)/2,0));
draw(Label(scale(.7)*"$-\frac{\sqrt{3}}{2}$",align=2*N),box,(-sqrt(3)/2,0),FillDraw(1,1,white,black));
dot(-(sqrt(3)/2,0));
draw(Label(scale(.7)*"$\frac{1}{2}$",align=2*E),box,(0,.5),FillDraw(1,1,white,black));
dot((0,.5));
draw(Label(scale(.7)*"$-\frac{1}{2}$",align=2*E),box,(0,-.5),FillDraw(1,1,white,black));
dot((0,-.5));
draw(Label(scale(.7)*"$\frac{\sqrt{2}}{2}$",align=2*E),box,(0,sqrt(2)/2),FillDraw(1,1,white,black));
dot((0,sqrt(2)/2));
draw(Label(scale(.7)*"$-\frac{\sqrt{2}}{2}$",align=2*E),box,(0,-sqrt(2)/2),FillDraw(1,1,white,black));
dot((0,-sqrt(2)/2));
draw(Label(scale(.7)*"$\frac{\sqrt{3}}{2}$",align=2*E),box,(0,sqrt(3)/2),FillDraw(1,1,white,black));
dot((0,sqrt(3)/2));
draw(Label(scale(.7)*"$-\frac{\sqrt{3}}{2}$",align=2*E),box,(0,-sqrt(3)/2),FillDraw(1,1,white,black));
dot((0,-sqrt(3)/2));
}

cercle_base();
