-
2 octobre 2007
Le rapporteur :
Voici son code :
u :=1cm ; figure (-8u,-8u,10u,8u) ; numeric r ; r :=8 ;
pair O,I,II ; O :=(0,0) ; I :=(r*u,0) ; II :=(-r*u,0) ;
marque_p :="croix" ; MarquePoint(O) ;
trace arccercle(I,II,O) ;
numeric ang ; ang := 20 ; pair J,JJ ; J :=I rotatedaround(O,-ang) ; JJ :=II rotatedaround(O,ang) ; trace arccercle(J,I,O) ; trace arccercle(II,JJ,O) ; draw J—JJ ;
pair K,KK ; K :=((r-3)*u,0) ; KK :=(-(r-3)*u,0) ; trace arccercle(K,KK,O) ; draw K—KK ;
%-----------graduations (...)
-
27 mai 2007
Un fichier metapost permet de créer une ou plusieurs figures géométriques.
Voici la structure d’un fichier metapost dans lequel on verra l’appel au fichier geometriesyr16.mp de Christophe Poulain que l’on trouvera à la page suivante.
input geometriesyr16.mp ;
% ------------------------------------------------------------------------ % Exercice 1 % ------------------------------------------------------------------------
u :=1cm ; figure (-8u,-8u,10u,8u) ;
%à remplacer par les instructions
fin (...)
-
26 mai 2007
Avec les macros de Christophe Poulain, on peut choisir de créer une figure classique ou une figure à main levée.
Pour cela, il suffit de remplacer dans la structure du fichier la commande figure(xa,ya,xb,yb) par figuremainlevee(xa,ya,xb,yb).
On rappelle que les deux points donnés limitent la zone rectangulaire de la figure, le reste étant coupé.
Voici deux exemples :
Un ensemble de figures à main levée est proposé à l’article intitulé : "Exemples de figures à main levée".
Pour que les figures (...)
-
25 mai 2007
En Metapost, un point est de type pair.
Ainsi, pour définir les points A, B, C et D, on écrira la ligne :
pair A,B,C,D ;
Pour définir leurs coordonnées, on taper par exemple :
A :=(0,0) ; B :=(5u,0) ; C :=0.5[A,B] ; D :=(A+2B)/3 ;
Remarquez que les coordonnées sont données comme des multiples de l’unité u qui est définie en début de figure.
Pour les dessiner, il y a plusieurs marque possibles que l’on définit par la commande marque_p :="type de marque" où le type de marque est à choisir parmi (...)
-
24 mai 2007
Triangle ABC de longueurs données :
Voici son code :
u :=1cm ; figure (-8u,-8u,10u,8u) ; pair A,B,C ; numeric AB,AC,BC ;
AB :=6 ; %choisir les longueurs AC :=4 ; BC :=5 ;
A :=(0,0) ; B :=(AB*u,0) ;
path ca,cb ; cb :=arccercle((xpart(B) +BC*u,ypart(B)),(xpart(B)-BC*u,ypart(B)),B) ; ca :=arccercle((xpart(A)+AC*u,ypart(A)),(xpart(A)-AC*u,ypart(A)),A) ; C= ca intersectionpoint cb ;
draw A—B--C—cycle ;
label.llft(btex $A$ etex,A) ; %changer les noms des points de la zone de texte (...)
-
23 mai 2007
Parallélogramme ABCD : codage des côtés
Voici son code :
u :=1cm ; figure (-8u,-8u,10u,8u) ;
pair A,B,C,D,V ;
A :=(0,0) ; %changer la taille du parallélogramme B :=(6u,0) ; V :=(1u,4u) ; % V = vecteur BC C := B shifted V ; D := A shifted V ;
draw A—B--C—D--cycle ;
label.llft(btex $A$ etex,A) ; %changer les noms des points de la zone de texte label.lrt(btex $B$ etex,B) ; label.urt(btex $C$ etex,C) ; label.ulft(btex $D$ etex,D) ;
trace codesegments(A,B,D,C,1) ; trace (...)
-
22 mai 2007
Les médianes
Voici son code :
u :=1cm ; figure (-u,-2u,8u,6u) ; pair A,B,C,I,J,K,G ;
A=(0,0) ; B=(2u,5u) ; C=(7u,-u) ; I=0.5[B,C] ; %I :=milieu(B,C) ; J=0.5[A,C] ; K=0.5[B,A] ;
G=whatever[A,I]=whatever[B,J] ; %centre de gravité %G :=(A+B+C)/3 ; %G :=iso(A,B,C) ;
draw A—B--C—cycle ; draw droite(A,I) withcolor red ; draw droite(B,J) withcolor red ; draw droite(C,K) withcolor red ;
trace codesegments(B,I,I,C,2) ; trace codesegments(A,J,J,C,1) ; trace codesegments(B,K,K,A,3) ;
marque_p (...)
-
21 mai 2007
Le cube
Voici son code :
u :=1cm ; figure (-8u,-8u,10u,8u) ; pair A,B,C,D,E,F,G,H ; pair V ;
numeric c ; c :=4 ; %côté du cube
A=(0,0) ; B=(c*u,0) ; C=(c*u,c*u) ; D=(0,c*u) ;
V=(2u,u) ; % vecteur pour la perspective
E= A shifted V ; F= B shifted V ; G= C shifted V ; H= D shifted V ;
draw A—B--C—D--cycle ; draw B—F--G—C ; draw G—H--D ;
draw A—E--F dashed evenly ; draw H—E dashed evenly ;
label.llft(btex $A$ etex,A) ; label.lrt(btex $B$ etex,B) ; label.lrt(btex $C$ etex,C) ; label.ulft(btex (...)
-
20 mai 2007
Rotation
image := objet rotatedaround(centre,angle) ;
ou
image := rotation(objet,centre,angle) ;
symetrie centrale
image := objet rotatedaround(centre,180) ;
ou
image := symetrie(objet,centre) ;
Symétrie axiale d’axe (AB)
image := objet reflectedabout(point_A,point_B) ;
ou
image := symetrie(objet,point_A,point_B) ;
Translation de vecteur $\overrightarrowAB$
image := objet shifted (point_B-point_A) ;
Exemples
Voici une figure résumant les utilisations possibles. On y (...)
-
19 mai 2007
Pour le théorème de Pyhagore
Voici son code :
u :=1cm ; figuremainlevee(-8u,-8u,10u,8u) ; pair A,B,C ; numeric AB,AC,BC ;
AB :=4 ; %choisir les longueurs AC :=3 ;
A :=(0,0) ; B :=(AB*u,0) ; C :=(0,AC*u) ;
trace polygone(A,B,C) ;
label.llft(btex $A$ etex,A) ; %changer les noms des points de la zone de texte label.lrt(btex $B$ etex,B) ; label.top(btex $C$ etex,C) ;
trace codeperp(B,A,C,5) ;
label.bot(btex $AB$ etex,0.5[A,B]) ; %changer les longueurs label.lft(btex $AC$ (...)