Bonjour,
MB a écrit :et je pense que j'aurais des questions à poser.
Pas de problème, je m'en pose aussi pas mal à propos de ce paquet :-) mais j'espère que la documentation sera claire.
MB a écrit :Le première est la suivante :
Je suis en train de tester la fonction
markangle qui permet de marquer des angles.
Les deux définitions possibles sont les suivantes :
Code : Tout sélectionner
void markangle(picture,Label,int,real,real,line,line,explicit pair,arrowbar,pen,margin,marker)
void markangle(picture,Label,int,real,real,line,line,explicit vector,arrowbar,pen,margin,marker)
On voit qu'elle utilise deux
line.
Il n'existe pas de version avec 3 points ? (comme pour
markrightangle)
Bien vue!
La routine utilisée par "alekhine" est une routine standard du paquet markers.asy qui utilise des types "pair".
A priori il manque la routine avec le type "point", je regarderais ça mercredi...
MB a écrit :Par ailleurs, je ne comprends pas à quoi servent explicit pair ou explicit vector (qui sont sous forme dir(?) dans les exemples il me semble).
Il y a une différence entre un type "vector" un type "pair" seulement quand on utilise des repères différents.
Ce sera dans la documentation à venir...
Voici un exemple basique qui se veut parlant ;-)
Code : Tout sélectionner
import geometry_dev;
size(8cm,0);
coordsys Rp=cartesiansystem((1.25,0.75),i=(1,1),j=(-1,1));
coordsys R=defaultcoordsys;
show("$O$", "$\vec{\imath}$", "$\vec{\jmath}$", R);
show("$O'$","$\vec{u}$","$\vec{v}$", Rp, xpen=invisible);
pair w=(1,1);
show("pair w", w);
dot("pair w", w);
show("vector(Rp,w)",vector(Rp,w));
dot("vector(Rp,w)",vector(Rp,w));
MB a écrit :voir les figures
ici qui seront ajoutée au fur et à mesure
Je ne sais pas comment ajouter une figure sur cette page mais voici,
en avant première pour MathemaTeX, un exemple qui utilise les inversions (il faut télécharger la toute dernière version de geometry_dev); elle sera dans la doc pdf.
Code : Tout sélectionner
import geometry_dev;
size(18cm,0); int shx=18;
circle C1=circle((0,0),2), C2=circle((5,5), 3), C3=circle((6,-2),1);
picture disc;
fill(disc,(path)C1); fill(disc,(path)C2); fill(disc,(path)C3);
transform tv=shift(S), th=shift(E);
int k=0, l=0;
for (int i=0; i < 2 ; ++i)
for (int j=0; j < 2; ++j) {
picture[] tpic; tpic[0]=new picture; tpic[1]=new picture;
add(tpic[0], disc); add(tpic[1], disc);
inversion S1=inversion(C2,C3, sgnd(i-1)), S2=inversion(C1,C3, sgnd(j-1));
line cl=line(S1.C,S2.C);
point M=relpoint(C3,0.125), M2=S2*M, M1=S1*M;
circle C=circle(M,M2,M1);
line L=radicalline(C,C3);
point H=intersectionpoint(L,cl);
circle Cp=circle(H,C3.C);
point[] T=intersectionpoints(Cp,C3);
point[][] Tp= new point[][] {{S2*T[0], S1*T[0]},{S2*T[1], S1*T[1]}};
draw(tpic[0], circle(T[0],Tp[0][0],Tp[0][1]), bp+0.8*red);
draw(tpic[1], circle(T[1],Tp[1][0],Tp[1][1]), bp+0.8*red);
add(tv^(shx*(i+1))*th^(shx*(l))*tpic[0]);
l=(l+2)%4; ++k;
add(tv^(shx*(i+1))*th^(shx*(l+1))*tpic[1]);
}