Pour toute demande d'aide sur des exemples non finalisés, c'est ici.
Les exemples aboutis et intéressants seront ajoutés aux sous-forums qui suivent.
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 :
- 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 !
-
Fabrice
- Messages : 118
- Enregistré le : sam. 13 mars 2010, 11:41
Message non lu
par Fabrice » lun. 24 sept. 2018, 19:25
Bonsoir,
Asymptote ce n'est pas tout à fait comme le vélo, car j'ai beaucoup oublié !
Le but est de reproduire la figure jointe en image. Mon soucis est double : l'angle droit et le rayon du disque de couleur orange. En effet, je ne sais pas comment colorier un disque et donc, j'ai choisi de colorier un arc. Seulement, le point ne se trouve pas sur l'arc.
*** 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 geometry;
unitsize(0.8cm,0);
point A=(4,0);
point B=(8,0);
point C=(4,-4);
point D=(-3,0);
point E=(3*cos(65),3*sin(65));
filldraw(arc(A,4,0,270)--C--A--B--cycle,green,black+1.5bp);
filldraw(arc(D,3,0,360)--cycle,orange,black+1bp);
dot(D);
draw(D--E);
distance("4 cm",A,B);
distance("4 cm",A,C);
Merci.
Fabrice
http://image.noelshack.com/fichiers/201 ... -0712.jpg
Debian Strech + Asymptote 2.42-12 + Emacs24 + TeXLive 2017
-
GM
- Administrateur du site
- Messages : 1512
- Enregistré le : dim. 7 mars 2010, 14:50
Message non lu
par GM » lun. 24 sept. 2018, 20:35
Bonsoir Fabrice,
le problème est que tu as oublié de définir ton point E à l'aide de D et oublié que les angles sont en radians.
Comme E est une variable déjà définie par défaut dans Asymptote pour définir l'EST, je l'ai remplacé.
J'ai utilisé aussi unitcircle pour le cercle.
*** 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 geometry;
unitsize(0.8cm,0);
point A=(4,0);
point B=(8,0);
point C=(4,-4);
point D=(-3,0);
real rayon = 3;
real theta = pi/3;
point M= D+(rayon*cos(theta),rayon*sin(theta));
path cercle = shift(D)*scale(rayon)*unitcircle;
filldraw(arc(A,4,0,270)--C--A--B--cycle,green,black+1.5bp);
filldraw(cercle,orange,black+1bp);
dot(D);
draw("$x$",D--M,Arrows);
distance("4 cm",A,B);
distance("4 cm",A,C);
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 !
-
Fabrice
- Messages : 118
- Enregistré le : sam. 13 mars 2010, 11:41
Message non lu
par Fabrice » lun. 24 sept. 2018, 22:18
Bonsoir Gaetan,
Merci, je vais m'y remettre sérieusement car j'ai un peu délaissé au profit de TikZ.
Fabrice
Debian Strech + Asymptote 2.42-12 + Emacs24 + TeXLive 2017
-
Fabrice
- Messages : 118
- Enregistré le : sam. 13 mars 2010, 11:41
Message non lu
par Fabrice » mer. 26 sept. 2018, 09:30
Bonjour Gaetan,
Encore une petite question sur ce code : est-il possible avec la routine distance() de n'avoir que le texte ("4 cm") ?
Merci.
Fabrice
Debian Strech + Asymptote 2.42-12 + Emacs24 + TeXLive 2017
-
GM
- Administrateur du site
- Messages : 1512
- Enregistré le : dim. 7 mars 2010, 14:50
Message non lu
par GM » mer. 26 sept. 2018, 14:33
Fabrice a écrit : ↑mer. 26 sept. 2018, 09:30
Bonjour Gaetan,
Encore une petite question sur ce code : est-il possible avec la routine distance() de n'avoir que le texte ("4 cm") ?
Merci.
Fabrice
Bonjour,
Après un petit tour dans geometry.asy pour vérifier la signature de la fonction distance
Code : Tout sélectionner
void distance(picture pic = currentpicture, Label L = "", point A, point B,
bool rotated = true, real offset = 3mm,
pen p = currentpen, pen joinpen = invisible,
arrowbar arrow = Arrows(NoFill))
j'ai tenté cela avec succès :
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 !
-
Fabrice
- Messages : 118
- Enregistré le : sam. 13 mars 2010, 11:41
Message non lu
par Fabrice » mer. 26 sept. 2018, 16:44
Bonjour Gaetan,
Merci pour l'aide apportée. J'en ai profité pour parcourir un peu la documentation afin d'y ajouter un angle droit. Pour être complet, je souhaiterais, si possible, remplacer le point par une croix.
Fabrice
*** 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 geometry;
unitsize(0.8cm,0);
point A=(4,0);
point B=(8,0);
point C=(4,-4);
point D=(-3,0);
real rayon = 3;
real theta = pi/3;
point M= D+(rayon*cos(theta),rayon*sin(theta));
path cercle = shift(D)*scale(rayon)*unitcircle;
line AB=line(A,B);
line AC=line(A,C);
perpendicularmark(AB,AC, quarter=4,size=0.4cm, Fill(paleblue));
filldraw(arc(A,4,0,270)--C--A--B--cycle,green,black+1.5bp);
filldraw(cercle,orange,black+1bp);
dot(D);
draw("$x$",D--M,Arrows);
distance(Label("4 cm",black),A,B, p=invisible);
distance(Label("4 cm",black),C,A, p=invisible);
Debian Strech + Asymptote 2.42-12 + Emacs24 + TeXLive 2017
-
GM
- Administrateur du site
- Messages : 1512
- Enregistré le : dim. 7 mars 2010, 14:50
Message non lu
par GM » mer. 26 sept. 2018, 18:21
Une source d'inspiration :
*** 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
marker croix1=marker(scale(2)*cross(4),1bp+blue);
marker croix2=marker(scale(2)*rotate(45)*cross(4),1bp+red);
import geometry;
unitsize(0.8cm,0);
point A=(4,0);
point B=(8,0);
point C=(4,-4);
point D=(-3,0);
real rayon = 3;
real theta = pi/3;
point M= D+(rayon*cos(theta),rayon*sin(theta));
path cercle = shift(D)*scale(rayon)*unitcircle;
line AB=line(A,B);
line AC=line(A,C);
perpendicularmark(AB,AC, quarter=4,size=0.4cm, Fill(paleblue));
filldraw(arc(A,4,0,270)--C--A--B--cycle,green,black+1.5bp);
filldraw(cercle,orange,black+1bp);
draw(D,croix2);
draw(M,croix1);
draw("$x$",D--M,Arrows);
// distance(Label("4 cm",black),A,B, p=invisible);
// distance(Label("4 cm",black),C,A, p=invisible);
draw(Label("4 cm",Relative(.5),align=RightSide),segment(AB));
draw(Label("4 cm",Relative(.5),align=LeftSide),segment(AC));
A noter que si tu n'utilises pas les flèches et lignes de rappel pour les cotations, alors tu peux te passer de distance comme ci-dessus.
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 !
-
Fabrice
- Messages : 118
- Enregistré le : sam. 13 mars 2010, 11:41
Message non lu
par Fabrice » mer. 26 sept. 2018, 19:03
Re,
Merci beaucoup.
Fabrice
Debian Strech + Asymptote 2.42-12 + Emacs24 + TeXLive 2017