un type particulier
Règles du forum
Pour toute demande d'aide pour la conception (ou la confirmation d'un code) d'une figure Asymptote, c'est ici.
J'invite ceux qui ont régulièrement des questions à poser à aller dans leur panneau de l'utilisateur pour indiquer dans la signature de leurs messages :
On va gagner du temps dans les réponses !
Pour toute demande d'aide pour la conception (ou la confirmation d'un code) d'une figure Asymptote, c'est ici.
J'invite ceux qui ont régulièrement des questions à poser à aller dans leur panneau de l'utilisateur pour indiquer dans la signature de leurs messages :
- Nom du système d'exploitation (W7 ou Ubuntu 12.04 ou ...)
- Version d'Asymptote et éditeur utilisé pour les figures Asymptote
- Distribution LaTeX et éditeur utilisé pour les tex.
On va gagner du temps dans les réponses !
un type particulier
Bonjour !
En fouinant sur des codes concernant des tableaux, je tombe sur la notion OBJECT.
Il semblerait que cela soit un type mais nada dans la doc officielle...
Un éclaircissement svp ?
Merci
En fouinant sur des codes concernant des tableaux, je tombe sur la notion OBJECT.
Il semblerait que cela soit un type mais nada dans la doc officielle...
Un éclaircissement svp ?
Merci
Windows 11- Ubuntu 20.10 - WinEdit - TexStudio - TeXMaker - TeXLive2022
Re: un type particulier
Un coup de Ctrl+F dans la doc sur le mot "object" et on trouve des choses... mais cela dépend ce que tu cherches exactement.zariski a écrit :Bonjour !/quote]
Bonjour,
zariski a écrit :Il semblerait que cela soit un type mais nada dans la doc officielle...
Un éclaircissement svp ?
Merci
Je rappelle aussi l'existence de l'index : http://gmaths.net/asy/index/?filtre=object (penser à "Afficher tout !").
Index des fonctions - Exemple de lien donnant le résultat d'une recherche sur les mots 'arc' et 'triple' : http://asy.marris.fr/indexasy/?filtre=arc triple
Mes configurations (le 24/02/21) :
PC n°1 :Windows 10 - Asymptote(2.82)+MikTeX2.9 - Editeurs : Notepad++, TeXworks, Visual Studio Code.
PC n°2 : Ubuntu 20.04LTS - Asymptote(2.67-?? git) + TexLive2020
Mon serveur : Debian Stretch- Asymptote(2.68-16 git) + TexLive2018
Merci de préciser la votre !
Mes configurations (le 24/02/21) :
PC n°1 :Windows 10 - Asymptote(2.82)+MikTeX2.9 - Editeurs : Notepad++, TeXworks, Visual Studio Code.
PC n°2 : Ubuntu 20.04LTS - Asymptote(2.67-?? git) + TexLive2020
Mon serveur : Debian Stretch- Asymptote(2.68-16 git) + TexLive2018
Merci de préciser la votre !
Re: un type particulier
En fait pour être plus précis j'aimerai savoir ce que fait ce code :
pen stylo=fontsize(ul*10pt);
int n=tab.length;
object[] obj=new object[tab.length];
real larg,haut;
for(int k=0; k<n; ++k){
obj[k]=object(Label(tab[k][0],stylo));
larg=max(larg,(max(obj[k])-min(obj[k])).x);
haut=max(haut,(max(obj[k])-min(obj[k])).y);
}
J'ai bien une petite idée mais bon ...
pen stylo=fontsize(ul*10pt);
int n=tab.length;
object[] obj=new object[tab.length];
real larg,haut;
for(int k=0; k<n; ++k){
obj[k]=object(Label(tab[k][0],stylo));
larg=max(larg,(max(obj[k])-min(obj[k])).x);
haut=max(haut,(max(obj[k])-min(obj[k])).y);
}
J'ai bien une petite idée mais bon ...
Windows 11- Ubuntu 20.10 - WinEdit - TexStudio - TeXMaker - TeXLive2022
Re: un type particulier
Avec un code complet... (et mis entre code et /code... grâce au bouton prévu à cet effet), ce serait beaucoup mieux.zariski a écrit :En fait pour être plus précis j'aimerai savoir ce que fait ce code :
Index des fonctions - Exemple de lien donnant le résultat d'une recherche sur les mots 'arc' et 'triple' : http://asy.marris.fr/indexasy/?filtre=arc triple
Mes configurations (le 24/02/21) :
PC n°1 :Windows 10 - Asymptote(2.82)+MikTeX2.9 - Editeurs : Notepad++, TeXworks, Visual Studio Code.
PC n°2 : Ubuntu 20.04LTS - Asymptote(2.67-?? git) + TexLive2020
Mon serveur : Debian Stretch- Asymptote(2.68-16 git) + TexLive2018
Merci de préciser la votre !
Mes configurations (le 24/02/21) :
PC n°1 :Windows 10 - Asymptote(2.82)+MikTeX2.9 - Editeurs : Notepad++, TeXworks, Visual Studio Code.
PC n°2 : Ubuntu 20.04LTS - Asymptote(2.67-?? git) + TexLive2020
Mon serveur : Debian Stretch- Asymptote(2.68-16 git) + TexLive2018
Merci de préciser la votre !
Re: un type particulier
Code : Tout sélectionner
pen stylo=fontsize(ul*10pt);
int n=tab.length;
object[] obj=new object[tab.length];
real larg,haut;
for(int k=0; k<n; ++k){
obj[k]=object(Label(tab[k][0],stylo));
larg=max(larg,(max(obj[k])-min(obj[k])).x);
haut=max(haut,(max(obj[k])-min(obj[k])).y);
}
Windows 11- Ubuntu 20.10 - WinEdit - TexStudio - TeXMaker - TeXLive2022
Re: un type particulier
Comment expliquer un code incomplet ? Tu le sors d'où ?GM a écrit :Avec un code complet...
ul, je peux deviner
mais tab ?
et il manque ce qui suit pour dire à quoi servent larg et haut ?
Si tu as compris cette suite qui manque, vu que tu ne la mets pas,... alors tu sais ce que font ces lignes.
Même recommandation ici que sur les sites d'aide à LaTeX : on adore les ECM (exemples complets minimaux).
Index des fonctions - Exemple de lien donnant le résultat d'une recherche sur les mots 'arc' et 'triple' : http://asy.marris.fr/indexasy/?filtre=arc triple
Mes configurations (le 24/02/21) :
PC n°1 :Windows 10 - Asymptote(2.82)+MikTeX2.9 - Editeurs : Notepad++, TeXworks, Visual Studio Code.
PC n°2 : Ubuntu 20.04LTS - Asymptote(2.67-?? git) + TexLive2020
Mon serveur : Debian Stretch- Asymptote(2.68-16 git) + TexLive2018
Merci de préciser la votre !
Mes configurations (le 24/02/21) :
PC n°1 :Windows 10 - Asymptote(2.82)+MikTeX2.9 - Editeurs : Notepad++, TeXworks, Visual Studio Code.
PC n°2 : Ubuntu 20.04LTS - Asymptote(2.67-?? git) + TexLive2020
Mon serveur : Debian Stretch- Asymptote(2.68-16 git) + TexLive2018
Merci de préciser la votre !
Re: un type particulier
c'est votre œuvre cher ami !
Le code est un peu long et se nomme "gm_tabsgn" il me semble.
Le code est un peu long et se nomme "gm_tabsgn" il me semble.
Code : Tout sélectionner
//---- gm_tabsigne-------------------------------------------------------
picture tabsgn(string[][] tab, real ul=1, real kx=1.1, real ky=1.2 ,pen p=0.5bp+black){
picture pic;
pen stylo=fontsize(ul*10pt);
int n=tab.length;
object[] obj=new object[tab.length];
real larg,haut;
for(int k=0; k<n; ++k){
obj[k]=object(Label(tab[k][0],stylo));
larg=max(larg,(max(obj[k])-min(obj[k])).x);
haut=max(haut,(max(obj[k])-min(obj[k])).y);
}
string[] lx;
lx=split(tab[0][1]," ");
object[] lxo=new object[lx.length];
real xlarg,xhaut,dxl=1.1;
for(int i=0; i<lx.length; ++i){
lxo[i]=object(Label(lx[i],stylo));
xlarg=max(xlarg,(max(lxo[i])-min(lxo[i])).x);
}
larg*=kx/2; haut*=ky/2; xlarg*=kx*1.5;
draw(pic,(-larg,haut-2n*haut)--(-larg,haut)--(larg,haut)--(larg,haut-2n*haut),p);
for(int k=0; k<n; ++k){
add(pic,shift(0,-2k*haut)*obj[k]);
draw(pic,(-larg,haut-2(k+1)*haut)--(larg,haut-2(k+1)*haut),p);
real L=(lxo.length-1/2)*xlarg;
if(k==0) {
draw(pic,(larg,haut)--(dxl^2*larg+L,haut)--(dxl^2*larg+L,-haut)--(larg,-haut),p);
for(int i=0; i<lxo.length; ++i)
add(pic,shift(dxl*larg+(1/4+i)*xlarg,0)*lxo[i]);
} else {
string[] ly;
real l=xlarg/30;
ly=split(tab[k][1]," ");
for(int i=0; i<ly.length; ++i){
real xla = dxl*larg+(1/4+i/2)*xlarg;
label(pic,shift(xla,-k*2haut)*(ly[i]),stylo);
}
draw(pic,(dxl^2*larg+L,haut-k*2haut)--(dxl^2*larg+L,-haut-k*2haut)--(larg,-haut-k*2haut),p);
}
}
return pic;
}
//---- Fin gm_tabsigne-------------------------------------------------------
Windows 11- Ubuntu 20.10 - WinEdit - TexStudio - TeXMaker - TeXLive2022
Re: un type particulier
en fait j'essaie de faire un code qui produise un tableau (pas forcément de signe), un peu à la façon Latex...
Je trouve qu'il y a là des possibilités plus importantes que sous Latex.
Le hic c'est que je ne maitrise pas bien Asymptote. La syntaxe est pénible à comprendre.
Je trouve qu'il y a là des possibilités plus importantes que sous Latex.
Le hic c'est que je ne maitrise pas bien Asymptote. La syntaxe est pénible à comprendre.
Windows 11- Ubuntu 20.10 - WinEdit - TexStudio - TeXMaker - TeXLive2022
Re: un type particulier
Cela devient tout de suite plus clair !zariski a écrit :c'est votre œuvre cher ami !
Le code est un peu long et se nomme "gm_tabsgn" il me semble.
Et voilà un exemple d'utilisation :
*** 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
- import gm_tableaux_dev;
- string[][] tab={
- {"x", "-inf -2 1 +inf"},
- {"x-1", " - | - 0 + "},
- {"x+2", " - 0 + | + "},
- {"(x-1)(x+2)", " + 0 - 0 + "}
- };
- picture tab0=tabsgn(tab,ul=1.2,p=1bp+orange);
- add(tab0);
On peut y voir ce que contient tab.
Je commente la partie de code qui t'intéresse :
On récupère le nombre n de lignes du tableau :
Code : Tout sélectionner
int n=tab.length;
ainsi que deux variables (larg et haut) qui à l'issue de la boucle FOR vont contenir la largeur et la hauteur maximale d'une liste d'objets.
Code : Tout sélectionner
object[] obj=new object[tab.length];
real larg,haut;
va donner lieu à la création d'un objet (texte entouré d'une enveloppe de forme rectangulaire) qui a donc une largeur et une hauteur
que je récupère via les coordonnées x et y d'un vecteur "diagonale" qui est (max(obj[k])-min(obj[k]).
Code : Tout sélectionner
for(int k=0; k<n; ++k){ //
obj[k]=object(Label(tab[k][0],stylo));
larg=max(larg,(max(obj[k])-min(obj[k])).x);
haut=max(haut,(max(obj[k])-min(obj[k])).y);
}
Index des fonctions - Exemple de lien donnant le résultat d'une recherche sur les mots 'arc' et 'triple' : http://asy.marris.fr/indexasy/?filtre=arc triple
Mes configurations (le 24/02/21) :
PC n°1 :Windows 10 - Asymptote(2.82)+MikTeX2.9 - Editeurs : Notepad++, TeXworks, Visual Studio Code.
PC n°2 : Ubuntu 20.04LTS - Asymptote(2.67-?? git) + TexLive2020
Mon serveur : Debian Stretch- Asymptote(2.68-16 git) + TexLive2018
Merci de préciser la votre !
Mes configurations (le 24/02/21) :
PC n°1 :Windows 10 - Asymptote(2.82)+MikTeX2.9 - Editeurs : Notepad++, TeXworks, Visual Studio Code.
PC n°2 : Ubuntu 20.04LTS - Asymptote(2.67-?? git) + TexLive2020
Mon serveur : Debian Stretch- Asymptote(2.68-16 git) + TexLive2018
Merci de préciser la votre !
Re: un type particulier
ça devient plus clair, merci.
Mon idée était la bonne mais le coup du vecteur diagonal était un peu chaud.
Encore merci.
Je poursuis ma quête ... A suivre
Mon idée était la bonne mais le coup du vecteur diagonal était un peu chaud.
Encore merci.
Je poursuis ma quête ... A suivre
Windows 11- Ubuntu 20.10 - WinEdit - TexStudio - TeXMaker - TeXLive2022