[Résolu] Dessiner une accolade

Tout ce qui concerne l'utilisation ou l'installation d'Asymptote.

Modérateur: gdm_asy

Règles du forum
Merci d'éviter le style SMS dans vos messages et de penser à utiliser la fonction Recherche avant de poster un message. Pour joindre des fichiers à vos messages, consulter ce sujet.
> Penser à utiliser les balises Code pour poster du code.

[Résolu] Dessiner une accolade

Messagepar cerise » Mardi 17 Avril 2012, 10:03

Bonjour,

Je cherche à dessiner une accolade avec Asymptote, avec les extrémités à une position donnée. Je voudrais faire quelque chose un peu comme les exemples ci-dessous trouvés sur la page de Gaëtan, mais avec une accolade à la place des flèches avec des barres :

Image


Bien sûr, je peux me faire une macro personnalisée en dessinant moi-même l'accolade. Aussi, si vous ne connaissez pas de solution déjà existante, inutile de vous embêter à programmer une macro, je peux me charger de ce travail ;)
Mais s'il existait déjà quelque chose, cela m'éviterait de réinventer la roue...
Dernière édition par cerise le Mardi 17 Avril 2012, 11:34, édité 1 fois.
Il fallait être Newton pour apercevoir que la Lune tombe quand tout le monde voit bien qu'elle ne tombe pas.
Paul Valéry
cerise
Méga-utilisateur
 
Messages: 448
Inscription: Mercredi 08 Juin 2005, 17:03
Statut actuel: Actif et salarié

Publicité

Re: Dessiner une accolade

Messagepar OG » Mardi 17 Avril 2012, 11:17

Bonjour

Tu tombes en pleine actualité !
J'avais commencé (et arrêté) à traduire cmarrow qui vient de Metapost (flèche, accolade, etc.. inspirée par Knuth et Metafont). Je réfléchis à temps très partiel mais il y a des difficultés que je ne sais pas encore surmonter (n'importe quel chemin non nécessairement droit est transformé en accolade), j'ai du poster un code un jour sur le forum d'asymptote officiel. (le code est trop long, ne passe pas)

Sinon Gaëtan a fait des choses aussi, voilà un début (qui a été amélioré depuis), voici :
Edit : suite à un message de Gaëtan, voici une version moins bugguée que la 1ère mais toujours à une étape de pré-pré-version (pour des accolades plutôt horizontales par rapport au texte)

59873163c55316f81cc5fde333e911b4.png

Code: Tout sélectionner
void cotationaccolade(picture pic=currentpicture,
pair pA, pair pB,
Label L = "", bool Lrot=false,
pen p=currentpen)
{
path brace=(0,0).. controls (3,4) and (5,4) ..(10,4)
--(40,4).. controls (45,4) and (48,4) ..(50,6);
brace=brace--reverse(reflect((50,0),(50,10))*brace);
brace=shift(pA)*rotate(degrees(pB-pA))*scale(abs(pB-pA)/100)*brace;
draw(L,brace,p,align=LeftSide);

}
///////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////

size(10cm);
pair z1=(0,0), z2=(5,-.25);
dot(z1^^z2);
cotationaccolade(z1,z2,L=Label("Text",Relative(.5),purple),.2bp+green);
cotationaccolade(shift((1,1))*z1,shift((1,1))*z2,L=Label("Text",Relative(.5),purple),.2bp+green);


O.G.
OG
Modérateur
 
Messages: 2285
Inscription: Lundi 12 Mars 2007, 11:20
Localisation: Rouen
Statut actuel: Actif et salarié | Maître de conférence

Re: Dessiner une accolade

Messagepar cerise » Mardi 17 Avril 2012, 11:33

Bonjour,

Merci pour ta réponse !
Finalement, je me suis fait une macro très rapide qui ne fait que des accolades horizontales (car c'est tout ce dont j'avais besoin pour le moment), mais je reste attentive à toute autre possibilité existante ! Le code de Gaëtan que tu as donné a l'air de faire de jolies choses très personnalisables, je garde ça sous le coude si j'ai besoin un jour de faire des accolades plus variées.
Et si tu avances dans ton projet, cela m'intéresse aussi d'en avoir des nouvelles :)
Il fallait être Newton pour apercevoir que la Lune tombe quand tout le monde voit bien qu'elle ne tombe pas.
Paul Valéry
cerise
Méga-utilisateur
 
Messages: 448
Inscription: Mercredi 08 Juin 2005, 17:03
Statut actuel: Actif et salarié

Re: Dessiner une accolade

Messagepar GMaths » Mardi 17 Avril 2012, 21:32

OG a écrit:une version moins bugguée que la 1ère mais toujours à une étape de pré-pré-version

Je confirme : on fera beaucoup mieux ! C'est uniquement pour un dépannage rapide.
GMaths
Exa-utilisateur
 
Messages: 2031
Inscription: Lundi 01 Octobre 2007, 09:20
Statut actuel: Actif et salarié | Enseignant

Re: [Résolu] Dessiner une accolade

Messagepar cerise » Mercredi 18 Avril 2012, 11:05

Merci pour cette nouvelle version !
Il fallait être Newton pour apercevoir que la Lune tombe quand tout le monde voit bien qu'elle ne tombe pas.
Paul Valéry
cerise
Méga-utilisateur
 
Messages: 448
Inscription: Mercredi 08 Juin 2005, 17:03
Statut actuel: Actif et salarié


Retourner vers Asymptote

 


  • Articles en relation
    Réponses
    Vus
    Dernier message

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité