Au départ que voulais imiter l'animation qui se trouve ici : http://fr.wikipedia.org/wiki/Ruban_de_M%C3%B6bius.
Pas de problème pour le ruban ;
Pour l'animation je voulais me contanter d'un point qui se déplace le long du bord.
Code : Tout sélectionner
//Ruban Moëbius avec Asymptote 1.96
import graph3;
import animate;
settings.tex="pdflatex";
settings.outformat="pdf";
settings.render=0; // à commenter si besoin
currentprojection=perspective(5,18,10);
currentlight=light(8,10,2);
//Taille de l'image
size(12cm,0);
//Fonction paramétrique
int k=1;
int n=55;
triple f(pair z) {return ((2+z.x*cos(k*z.y))*cos(2*z.y), (2+z.x*cos(k*z.y))*sin(2*z.y), z.x*sin(k*z.y));}
//Ruban de Moëbius
surface s=surface(f,(-1,0),(1,pi),25,250);
draw(s,blue,black);
//Bord du ruban
animation anim;
path3 bord;
triple[] b=new triple[2*n+1];
b[0]=(3,0,0);
for (int i=1; i<=2*n; i+=1) {
save();
pair a=(1,i*pi/n);
b[i]=f(a);
draw(b[i-1]--b[i],1bp+orange);
anim.add();
}
anim.movie(delay=200);
Si je ne compile que la partie surface, pas de problème, 10 secondes c'est fini.
Si je ne compile que la partie animation (le bord de la surface), 10 secondes et c'est fini (même avec n=55).
Par contre les deux en même temps à plus 5 itérations ça tourne pendant longtemps ... la dernière j'ai interrompu la compilation au bout de 35 min.
Existe-t-il un moyen de rendre la compilation plus rapide (pour n=5, ca crée 11 images, chaque image prend 10 secondes, on est loin des 20-30 min !);
Merci
Maurice