Bon désolée du double post, mais je complète un peu ce que je disais.
Finalement, j'utilise plutôt la commande draw, comme ci-dessous :
Code : Tout sélectionner
unitsize(1cm);
pair zB = (0,0);
object B = draw("B",ellipse,zB);
Je n'ai toujours pas trouvé comment faire une double ellipse. Peut-on définir d'autres types d'"enveloppe" que les trois prédéfinis ? Y a-t-il une documentation plus détaillée de ces fonctions que la doc officielle ?
EDIT : Pour relier plusieurs objets définis comme ça, j'ai trouvé dans un exemple sur le site de Gaëtan, ainsi que dans un exemple sur le site officiel, une syntaxe du genre :
Code : Tout sélectionner
add(new void(picture pic, transform t) {
draw(pic,point(B,SE,t)--point(A,NW,t));
});
J'ai aussi essayé d'écrire simplement une syntaxe du genre
et j'ai constaté que dans le deuxième cas, cela traçait tout une droite, alors que dans le premier cas, cela traçait un segment qui s'arrête bien où on veut. Et j'avoue ne pas comprendre
pourquoi ça marche. Si quelqu'un pouvait m'expliquer cette syntaxe...
(Je crois que je perds beaucoup plus de temps à essayer de faire quelque chose d'élégant et ad hoc qu'il ne m'en faudrait pour simplement faire ce que je veux "à la main", mais bon...)
EDIT 2 : bon, j'ai finalement abandonné l'idée d'utiliser ces fonctions et j'ai plutôt programmé mes propres fonctions pour faire exactement ce que je veux. Cela dit, je reste intéressée par des explications supplémentaires sur la manière dont fonctionnent les "objects" et les enveloppes...