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 » mar. 13 mars 2012, 17:07
Bonjour,
Pour les besoins d'une petite activité sur les suites géométriques, j'ai écrit rapidement (sans chercher à optimiser), le code suivant :
*** 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,1cm);
real u=1/3;
int n=4;
real N=(8^n-1)/7;
pair z1=(0,0),z2=(6,0),z3=(6,6),z4=(0,6),z5=(z1+z2)/2,z6=(z2+z3)/2,z7=(z3+z4)/2,z8=(z4+z1)/2;
path C[]={z1--z2--z3--z4--cycle};
for(int k=0; k<N; ++k){
filldraw(C[k],white,red);
pair Z[]={point(C[k],0),point(C[k],1),point(C[k],2),point(C[k],3),(point(C[k],0)+point(C[k],1))/2,(point(C[k],1)+point(C[k],2))/2,(point(C[k],2)+point(C[k],3))/2,(point(C[k],3)+point(C[k],0))/2};
for(int i=0; i<Z.length; ++i){
C.append(scale(u,Z[i])*C[k]);
filldraw(scale(u,Z[i])*C[k],red,red);
}}
J'ai testé la compilation à l'étape 6, ça rame dur !!
Merci.
Modifié en dernier par
Fabrice le mar. 13 mars 2012, 18:33, modifié 1 fois.
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 » mar. 13 mars 2012, 17:57
J'avais cela en stock... et beaucoup d'autres fractales... si tu en cherches : ma fille a fait un TPE sur le sujet.
Il y a une question avec ton message ? Peut-être une indirecte en rapport avec ceci :
Fabrice a écrit :J'ai testé la compilation à l'étape 6, ça rame dur !! Merci.
Cela va être le problème de beaucoup de fractales : croissance exponentielle des calculs... qui va faire croitre exponentiellement le temps... pour finir rapidement en un "out of memory".
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 !
-
GM
- Administrateur du site
- Messages : 1512
- Enregistré le : dim. 7 mars 2010, 14:50
Message non lu
par GM » mar. 13 mars 2012, 18:05
*** 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
size(0,300);
//////////////////////////////////
void Sierpinski(pair A, real s, int q, bool top=true)
{
pair B=A+s, C=A+(s,s), D=C-s;
if(top) draw(A--B--C--D--cycle);
draw((2A+C)/3--(2B+D)/3--(2C+A)/3--(2D+B)/3--cycle);
if(q > 0) {
Sierpinski(A,s/3,q-1,false);
Sierpinski((2A+B)/3,s/3,q-1,false);
Sierpinski((A+2B)/3,s/3,q-1,false);
Sierpinski((2A+4B+D+2C)/9,s/3,q-1,false);
Sierpinski((A+2C)/3,s/3,q-1,false);
Sierpinski((2A+B+4D+2C)/9,s/3,q-1,false);
Sierpinski((A+2D)/3,s/3,q-1,false);
Sierpinski((2A+D)/3,s/3,q-1,false);
}
}
//////////////////////////////////
Sierpinski((0,1),1,5);
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 » mar. 13 mars 2012, 18:32
Salut,
GM a écrit :si tu en cherches : ma fille a fait un TPE sur le sujet
Pourquoi pas ?
GM a écrit :Il y a une question avec ton message ?
C'était de voir si une amélioration du code que j'avais proposé pouvait accélérer la compilation. Ton code (avec de la récursivité) me semble compiler un poil plus vite, mais rencontre le même problème que le mien avec q= 7 (n=6 chez moi).
Debian Strech + Asymptote 2.42-12 + Emacs24 + TeXLive 2017