6eme 5eme 4eme 3eme
Sommaire Liens Atelier Maths Forum

Asymptote :
Représentations graphiques de solutions d'inéquations - intervalles


25/07/2010 Nouvelle fonction interval permettant de tracer un intervalle (voir ces exemples)

24/07/2010 Nouvelle version : Deux nouvelles fonctions : bracket et hatching permettant de placer des crochets et des hachures où l'on veut sur l'axe.

Mais attention, il faut dorénavant préciser la position du label dans solonaxis et sol2onaxis !

À signaler aussi l'existence du fichier OG.asy d'Olivier Guibé (voir cet exemple). Merci à lui !

Installation

Le fichier nécessaire se trouvent ICI.

Copier le fichier inequations_cg.asy dans le répertoire ~/.asy.


Utilisation

Le document doit débuter par :
import inequations_cg;

Les fonctions sont :

bracket(pic=currentpicture, Label L="", a, pos=N, sensc, p=currentpen)

hatching(pic=currentpicture, mini, maxi, hHatching=2mm, myHatch)

interval(pic=currentpicture, Label L1="", a1, pos1=N, sensc1, Label L2="", a2, pos2=N, sensc2, xMin=min(a1,a2)-2.5, xMax=max(a1,a2)+2.5, ticks=Ticks(), p=currentpen)

solonaxis(pic=currentpicture, a,borne,position=N,dirsol,brack,solcolor=currentpen,

                xMin=borne-3,xMax=borne+3,ticks=Ticks(),
                solutions=true,hach=true)

sol2onaxis(pic=currentpicture, a1,borne1,pos1=N,dirsol1,bracket11,solcolor1=currentpen,
                  a2,borne2,pos2=N,dirsol2,bracket2,solcolor2=currentpen,
                  xMin=min(borne1,borne2)-2.5,

                  xMax=max(borne1,borne2)+2.5,
                  ticks=Ticks(),hach=true)
//
// Pour solonaxis :
//
// pic=currentpicture,
// a="écriture LaTeX de la solution" , borne=borne de l'inéquation
// position=position du label (N par défaut)
// dirsol=lsol (0) ou rsol : solutions à gauche ou à droite
// brack="]" ou "["
// solcolor=couleur des solutions
// xMin et xMax=abscisses mini et maxi de l'axe
// ticks=Ticks("%",Step=...,step=...) ou Noticks() (voir ticks dans le démarrage rapide)
// solutions=true ou false : écrire "solutions"
// hach=true ou false : dessiner les hachures
// 
Exemple 1

import inequations_cg; // indispensable
usepackage("fourier"); // parce que j'aime bien...

unitsize(1cm);

solonaxis("$\sqrt{3}$",sqrt(3),N,rsol,"]");

shipout(bbox(1mm,invisible));

Exemple 2

import inequations_cg;
usepackage("fourier");

unitsize(1cm);

solonaxis("$\frac{\sqrt{2}}{2}$",sqrt(2)/2,N,rsol,
"[",deepgreen,solutions=false);

shipout(bbox(1mm,invisible));

Exemple 3

import inequations_cg;
usepackage("fourier");

unitsize(1cm);

solonaxis("$-\frac{3}{2}$",-3/2,N,lsol,
"[",deepmagenta,solutions=true,hach=false);

shipout(bbox(1mm,invisible));

Exemple 4

import inequations_cg;
usepackage("fourier");

unitsize(1cm);

solonaxis("$a$",0,S,lsol,"]",brown,NoTicks(),solutions=false,hach=false);

shipout(bbox(1mm,invisible));

Exemple 5

import inequations_cg;
usepackage("fourier");

unitsize(1cm);

sol2onaxis("$-1$",-1,N,rsol,"[",red,"$2$",2,N,lsol,
"[",blue,true);

shipout(bbox(1mm,invisible));

Exemple 6

import inequations_cg;
usepackage("fourier");

unitsize(1cm);

sol2onaxis("$-1$",-1,N,rsol,"]",red,
"$\frac{2}{3}$",2/3,N,rsol,"[",.8*yellow,false);

shipout(bbox(1mm,invisible));

Exemple 7

import inequations_cg;
usepackage("fourier");

unitsize(1cm);

sol2onaxis("$\frac{1}{3}$",1/3,N,rsol,"]",red,
"$\frac{1}{10}$",1/10,N,rsol,"]",blue,true);

// Pas super...

shipout(bbox(1mm,invisible));

Exemple 9

import inequations_cg;
usepackage("fourier");

size(5cm);

sol2onaxis("$\frac{1}{3}$",1/3,N,rsol,"]",red,
"$\frac{1}{10}$",1/10,N,rsol,"]",blue,
xMin=-.3,xMax=.7,true);

shipout(bbox(1mm,invisible));

Exemple 10

// Avec l'aide de GMaths : forum.mathematex

import inequations_cg;
usepackage("fourier");
usepackage("amsmath"); // Pour utiliser \text{}
unitsize(1cm);

real x1=0,x2=3,xm=(x1+x2)/2;

sol2onaxis("",0,dirsol1=rsol,"]","",3,dirsol2=lsol,"[",NoTicks(),true);

// à noter : utilisation de dirsol1 et dirsol2 pour ne pas préciser de position pour les labels

xtick("$L$",1,1.5*N,linewidth(bp));  // Pour placer la graduation
xtick(1,S,linewidth(bp));                     // Il faut la Nord et la Sud
label(format("$\underbrace{\hspace{%f cm}}
_{\text{intervalle ouvert contenant  } L}$",x2-x1),(xm,-.9));
label("Pour $n \geqslant p$, $u_n$ est dans l'intervalle",(xm,.8));

shipout(bbox(1mm,invisible));

Exemple bracket

import geometry;
import inequations_cg;

unitsize(1cm);

pair pA=(2,0),
pC=(5,0),
pB=(pA+pC)/2;
pen p=1.2bp+brown;

draw((0,0)--(7,0),Arrow);
draw(pA--pC,p);

bracket("$a-r$",pA.x,S,"[",p);
bracket("$a+r$",pC.x,S,"]",p);

dot("$a$",pB,1.5S,brown);
distance("$r$",pB,pC,-5mm,Arrows(2mm));


Exemple hatching
import inequations_cg;
unitsize(1cm);

pen p=bp+deepblue;
real mini=2, maxi=5;

xlimits(.3,6.7);
xaxis(Ticks("%"),Arrow);
bracket("mini",mini,S,"[",p);
bracket("maxi",maxi,S,"]",p);

add("hachure",hatch(H=2mm,dir=NE,deepblue));
hatching(mini,maxi,"hachure");

shipout(bbox(1mm,invisible));
Intervalle
import inequations_cg;

unitsize(1cm);

interval("$-\frac{5}{2}$",-2.5,.2NE,"]","$\frac{3}{2}$",1.5,.2NE,"]",1.5bp+darkgreen);

shipout(bbox(1mm,invisible));
Intervalle
import inequations_cg;

size(8cm,0);

interval(-3,"]",2,"]",xMin=-4.2,xMax=3.2,1.5bp+deepmagenta);

shipout(bbox(1mm,invisible));
intervalles OG
Pour des intervalles "n'importe où", il y a le fichier OG.asy .
import geometry;
import OG;
defaultpen(fontsize(10pt));
size(5*cm);

point pO=(0,0);
circle c=circle(pO,1);
point A=angpoint(c,30), B=angpoint(c,120), C=angpoint(c,-120), D=angpoint(c,-30);
point F=angpoint(c,150), G=angpoint(c,180), H=angpoint(c,210);
draw(c);

draw(arc(c,A,B),bp+chartreuse,Bras(ratiob=-.3)); // ratiob négatif pour changer le sens du crochet
draw(arc(c,C,D),bp+purple,Bras); // ratiob=.3 par défaut
draw(arc(c,F,G),bp+fuchsia,BeginBra(ratiob=.5));
draw(arc(c,G,H),bp+royalblue,EndBra(ratiob=-.2));

label("$A$",A,2E);label("$B$",B,2W);label("$C$",C,2S);label("$D$",D,2S);
label("$F$",F,2W);label("$G$",G,W);label("$H$",H,2S);

Pour toute(s) question(s) :




C. Grospellier