// ----- Génération d'un cône ----- import three; import animate; settings.tex="pdflatex"; settings.outformat="pdf"; settings.render=0; size(7.5cm,0); currentprojection=orthographic(1,0.5,0.5); real h=2, abscurv; triple pO=(0,0,0), pS =(0,0,2h), pA=(h,0,0), pB=(0,h,0), pC=(-h,0,0), pD=(0,-h,0); path3 basegras,base=pA..pB..pC..pD..pA, generatrice; animation A; dot("$S$",pS,align=N); dot("$A$",pA,align=S); dot("$B$",pB,align=SE); dot("$C$",pC,align=NE); dot("$D$",pD,align=NW); draw(pA--pS--pC^^pB--pS--pD); draw(pA--pC^^pB--pD,dashed+grey); draw(pO--(0,0,2.1*h),dashdotted+grey); draw(base,grey+white); draw((0.2h,0,2.1h)..(0,0.2h,2.1h)..(-0.2h,0,2.1h)..(0,-0.2h,2.1h), longdashed+1bp+grey,Arrow3()); for(real i=0; i<=1; i+=.01) { abscurv = length(base)*i; generatrice=pS--point(base,abscurv); draw(generatrice,grey+yellow); save(); draw(pO--generatrice--cycle,1.5bp+grey); basegras=basegras..point(base,abscurv); draw(basegras,1bp+grey); picture pic; add(pic,bbox(5mm,Fill(paleblue+white))); A.add(pic); restore(); } A.movie(); // remplacer par la ligne suivante // label(A.pdf(BBox(1mm,nullpen),delay=500,"controls,loop")); // pour obtenir une animation dans une seule page d'un pdf. // controls : pour obtenir les boutons, // loop : pour que cela tourne en boucle par défaut.