Outils du profs de maths
Posté : jeu. 11 mars 2010, 10:53
En attendant d'éventuelles figures d'une régle, d'un compas, ...
... voilà celle possible d'un rapporteur :
... voilà celle possible d'un rapporteur :
*** Pour masquer/découvrir le code Asymptote qui a permis de créer la figure, il faut cliquer dessus. ;-) ***
- CODE ASYMPTOTE de la figure ci-dessus : Tout sélectionner
- unitsize(.8cm);
- import geometry;
- defaultpen(fontsize(8pt)); // Stylo par défaut
- real r=5; // rayon du demi-cercle intérieur : r
- real l=2.5; // largeur du rapporteur : l
- real p=l/10; // largeur des petites graduations
- real g=2p; // largeur des grandes graduations
- point pO=(0,0), pA=(r,0);
- line droiteregle=line(0,-l);
- circle cercleint=circle(pO,r),
- cercleext=circle(pO,r+l);
- point[] R=intersectionpoints(droiteregle,cercleext);
- for(int a=0; a<=6; ++a) draw(pO--r*dir(a*30),gray);
- path chint=arc(cercleint,pA,-pA)--cycle,
- chext=arc(cercleext,R[1],R[0])--cycle;
- filldraw(chint^^chext,paleblue+white+evenodd,1bp+black);
- draw((r+l)*dir(45)--pO--(r+l)*dir(135),red);
- for(int k=0; k<180; ++k)
- draw(r*dir(k)--(r+p)*dir(k)^^(r+l-p)*dir(k)--(r+l)*dir(k),.4bp+gray);
- for(int k=0; k<=18; ++k) {
- draw(r*dir(10k)--(r+g)*dir(10k)^^(r+l-g)*dir(10k)--(r+l)*dir(10k),.6bp+blue);
- label(rotate(10k-90)*format("%i",10*k),(r+g)*dir(10k),dir(10k));
- label(rotate(90-10k)*format("%i",10*k),(r+l-g)*dir(180-10k),dir(-10k));
- }
- int xmax=floor(R[1].x);
- for(int x=0; x<10*xmax; ++x)
- draw((-x/10,-l)--(-x/10,p-l)^^(x/10,-l)--(x/10,p-l),.4bp+gray);
- for(int x=0; x<=xmax; ++x) {
- draw((-x,-l)--(-x,g-l)^^(x,-l)--(x,g-l),.6bp+blue);
- label(format("%i",x),(x,g-l),N);
- label(format("%i",-x),(-x,g-l),N);
- }