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 !
-
malaka
- Messages : 14
- Enregistré le : ven. 14 juil. 2017, 11:37
Message non lu
par malaka » lun. 25 déc. 2017, 18:24
Bonsoir,
J'aimerais que les droites (A'B'), (B'C') ou même (AB) de l'exemple ci-dessous ne dépassent que légèrement des points mais je n'arrive pas à comprendre comment fixer ce paramètre (est-ce possible ?) les options linemargin ou addmargin sont trop "globales".
Par exemple j'aimerais que la droite (B'C') dépasse légèrement du côté de B' sans aller jusqu'au point A.
Merci d'avance.
*** 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(1cm);
//show(currentcoordsys, xpen=invisible);
point O=(0,0);
point A=2.5*dir(65), A1=4*dir(65), B=1.5*dir(45), C=3*dir(-15);
//les droites
line OX=line(O,4.5*dir(65));
line OY=line(O,4*dir(45));
line OZ=line(O,5*dir(-15));
line AB=line(A,false,B);
line BC=line(B,false,C);
// Les points d'intersection et paralléles
line A1B1=parallel(A1,AB);
point B1=intersectionpoint(A1B1, OY);
line B1C1=parallel(B1,BC);
point C1=intersectionpoint(OZ, B1C1);
draw(OX); draw(OZ);draw(OY);
draw(AB,dirB=false);draw(BC);
draw(B1C1);draw(A1B1);
dot("A",A,W); dot("A'",A1,NW); dot("B",B,W);dot("O",O,NW);
dot("B'",B1,E);dot("C",C,NE);dot("C'",C1,NE);
Window 11 - TeX live 2023
TeXmaker 5.1.3 -Asymptote 2.79
-
GM
- Administrateur du site
- Messages : 1512
- Enregistré le : dim. 7 mars 2010, 14:50
Message non lu
par GM » lun. 25 déc. 2017, 19:35
Bonjour,
avec une nouvelle fonction de ce genre (qui serait probablement à améliorer pour la rendre compatible avec des changements de repère que permet geometry) :
Code : Tout sélectionner
void draw(point pA, point pB, real extA=.2, real extB=.2) {
draw(interp((pair)pA,(pair)pB,-extA)--interp((pair)pB,(pair)pA,-extB));
}
tu peux t'en servir ainsi (cela déborde par défaut de 20% de la longueur du segment) :
ou (pour des débordements de 10% et 5% de la longueur du segment)
*** 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(1cm);
//show(currentcoordsys, xpen=invisible);
point O=(0,0);
point A=2.5*dir(65), A1=4*dir(65), B=1.5*dir(45), C=3*dir(-15);
//les droites
line OX=line(O,4.5*dir(65));
line OY=line(O,4*dir(45));
line OZ=line(O,5*dir(-15));
line AB=line(A,false,B);
line BC=line(B,false,C);
// Les points d'intersection et paralléles
line A1B1=parallel(A1,AB);
point B1=intersectionpoint(A1B1, OY);
line B1C1=parallel(B1,BC);
point C1=intersectionpoint(OZ, B1C1);
draw(OX); draw(OZ);draw(OY);
draw(AB,dirB=false);draw(BC);
// ============ UNE NOUVELLE FONCTION
void draw(point pA, point pB, real extA=.2, real extB=.2) {
draw(interp((pair)pA,(pair)pB,-extA)--interp((pair)pB,(pair)pA,-extB));
}
// =========== .... et son utilisation :
draw(A1,B1);
draw(B1,C1,extA=.1,extB=.05);
// ======================
dot("A",A,W); dot("A'",A1,NW); dot("B",B,W);dot("O",O,NW);
dot("B'",B1,E);dot("C",C,NE);dot("C'",C1,NE);
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 !
-
malaka
- Messages : 14
- Enregistré le : ven. 14 juil. 2017, 11:37
Message non lu
par malaka » lun. 25 déc. 2017, 23:26
Woaw
! Et tout ça en moins d'une heure. Merci !
Je vais l'utiliser tel quel. On verra bien si j'arrive à comprendre comment elle est conçue. Je débute
Window 11 - TeX live 2023
TeXmaker 5.1.3 -Asymptote 2.79
-
GM
- Administrateur du site
- Messages : 1512
- Enregistré le : dim. 7 mars 2010, 14:50
Message non lu
par GM » mar. 26 déc. 2017, 18:18
malaka a écrit : ↑lun. 25 déc. 2017, 23:26
Je débute
Je me permets alors de dire qu'il est possible de :
- se créer son propre fichier de commandes personnelles : mescommandes.asy ;
- de le mettre dans le dossier caché ".asy" du dossier personnel ;
- et de mettre dans les scripts "import mescommandes;" pour pouvoir te servir de tes commandes.
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 !