Ça y est j'ai compris :D Comme vous avez pu le constater, je comprends vite, mais faut m'expliquer longtemps
J'ai résolu mon problème comme ça :
Code : Tout sélectionner
import graph;
size(6*cm,0);
//unitsize(1*cm);
int lsol=0, rsol=1;
void solaxis(string a="",
real sol,
int dirsol,
string crochet,
pen couleur=currentpen,
real xMin=sol-3, real xMax=sol+3,
ticks ticks=Ticks(),
real ech=1)
{
// Placer la "borne solution" sur l'axe
label(Label(a,couleur),(sol,0),3.5*N);
// Tracé de l'axe
xlimits(min=xMin,max=xMax);
xaxis(Label("$x$",align=N),ticks,Arrow);
////////// C'est ici que tout se passe ///////////
// Crochet
picture pic; unitsize(pic,1cm);
if (crochet=="]"){
draw(pic,(-.2,-.3)--(0,-.3)--(0,.3)--(-.2,.3),1.5*bp+couleur);}
else {
draw(pic,(.2,-.3)--(0,-.3)--(0,.3)--(.2,.3),1.5*bp+couleur);}
add(pic.fit(),(sol,0)); // C'est ce (sol,0) qui me manquait pour avoir le crochet au bon endroit
///////////////////////////////////////////
// Solutions en couleur
if (dirsol==0){draw((sol,0)--(xMin,0),1.5*bp+couleur);}
else {draw((sol,0)--(xMax,0),1.5*bp+couleur);}
}
solaxis("$\frac{3}{2}$",1.5,rsol,"]",.8*red,1,2,Ticks());
Le crochet est bien insensible à size et sa couleur est indépendante de la couleur "solutions" :D
Pour les hachures, je pense que je doit pouvoir procéder comme ça aussi, mais si ça va pas, vous inquiétez pas, je viendrai vous déranger
Merci beaucoup pour l'aide et la patience :D
Christophe