Bonjour !
Je me suis amusé à travailler un exemple de GM.
Par contre j'ai quelques artefacts que je ne m'explique pas.
Une idée peut-être ?
Merci
Voici le code : pardonnez moi mais je galère avec les balises ...
import geometry;
import animate;
settings.tex="pdflatex";
settings.outformat="pdf";
usepackage("xcolor");
unitsize(0.8cm);
real x_min=-4,
x_max=4,
y_min=-4,
y_max=4,
//----- Les unités sur chaque axe ------------------------------
k=1, // Nb de cm par unité sur Ox
h=1; // Nb de cm par unité sur Oy
//------- Axe des x -----------------------------------------------
draw((x_min,0)--(x_max,0),1bp+black,arrow=Arrow(size=2mm)); // Axe des x
for(real i=0; i<x_max; i=i+1){
draw((i,-0.1)--(i,0.1),0.5bp+black); // tirets positifs sur Ox
}
for(real i=0; i>x_min; i=i-1){
draw((i,-0.1)--(i,0.1),0.5bp+black); // tirets négatifs sur Ox
}
for(int k=1; k<=4; k=k+1){
label(format("\scriptsize %i",k),(k,-0.3),gray(0.5));//valeurs positives sur Ox
}
for(int k=1; k<=4; k=k+1){
label(format("\scriptsize %i",-k),(-k,-0.3),gray(0.5));//valeurs negatifs sur Ox
}
//------ Axe des x ---------------------------------------------
//------- Axe des y -----------------------------------------------
draw((0,y_min)--(0,y_max),1bp+black,arrow=Arrow(size=2mm)); // axe des y
for(real k=0; k<y_max; k=k+1){
draw((-0.1,k)--(0.1,k),0.5bp+black); // tirets positifs sur Oy
}
for(real k=0; k>y_min; k=k-1){
draw((-0.1,k)--(0.1,k),0.5bp+black); // tirets négatifs sur Oy
}
for(int k=1; k<=4; k=k+1){
label(format("\scriptsize %i",k),(-0.3 ,k),gray(0.5));//valeurs positives sur Ox
}
for(int k=1; k<=4; k=k+1){
label(format("\scriptsize %i",-k),(-0.3 , -k),gray(0.5));//valeurs negatifs sur Ox
}
//-------- Axe des y ----------------------------------------------
animation A;
real R=3, r=1,k=2;
pair pO=(0,0), pA=(R,0), pC=(R+r,0), pB=(R+k*r,0), pM, pN, pD, pE;
path Epitrochoide;
draw(scale(R)*unitcircle,1bp+blue);
label(scale(0.6)*("\fcolorbox{black}{gray!10}{, , }"),
(3,3),N);
for(int t=0; t<=360; t+=2) {
save();
pM=rotate(t,pO)*pA;
pD=rotate(t,pO)*pC;
pE=rotate(t,pO)*pB;
pN=rotate(R*t/r,pD)*pE;
Epitrochoide=Epitrochoide..pN;
draw(circle(pD,r));
draw(Epitrochoide,0.5bp+red);
draw(pD--pN,1bp+black);
dot(pD,3bp+black);
dot(pN,3bp+black);
A.add();
restore();
}
erase();
A.movie();
épitrochoide
Règles du forum
ATTENTION ! Il est demandé de ne déposer dans ce forum que des exemples en langage Asymptote
Pour les demandes d'aide ... il y a un forum spécifique !
ATTENTION ! Il est demandé de ne déposer dans ce forum que des exemples en langage Asymptote
- finalisés
- que l'on pense intéressants et optimisés
- et qui se rapportent au thème du forum.
Pour les demandes d'aide ... il y a un forum spécifique !
épitrochoide
Windows 11- Ubuntu 20.10 - WinEdit - TexStudio - TeXMaker - TeXLive2022
Re: épitrochoide
Bonjour
C'est le coup du chapeau mexicain... Pour construire par ajout successif un `path`, il faut le définir d'abord comme `guide`,
puis l'affichage fait que le `guide` est transformé en `path` (grosso modo, un système linéaire résolu pour faire un beau chemin ).
Si `Epitrochoide` est défini comme `path`, à chaque étape on ajoute un point au chemin `path`, seul le nouveau morceau "avant-dernier point
et dernier point" est calculé pour le raccord et in fine il y a des artefacts...
Bref il suffit de mettre
à la place
de
O.G.
C'est le coup du chapeau mexicain... Pour construire par ajout successif un `path`, il faut le définir d'abord comme `guide`,
puis l'affichage fait que le `guide` est transformé en `path` (grosso modo, un système linéaire résolu pour faire un beau chemin ).
Si `Epitrochoide` est défini comme `path`, à chaque étape on ajoute un point au chemin `path`, seul le nouveau morceau "avant-dernier point
et dernier point" est calculé pour le raccord et in fine il y a des artefacts...
Bref il suffit de mettre
Code : Tout sélectionner
guide Epitrochoide;
de
Code : Tout sélectionner
path Epitrochoide;
Re: épitrochoide
Merciiiiii beaucoup !
Faut dire que cette notion de "guide" m'échappe un peu ...
Faut dire que cette notion de "guide" m'échappe un peu ...
Windows 11- Ubuntu 20.10 - WinEdit - TexStudio - TeXMaker - TeXLive2022