// Deux options d'affichage des labels en 3D : Billboard ou Embedded. settings.autobillboard=false; // solution temporaire pour que // l'option d'affichage par défaut des labels ne soit plus Billboard // (qui ne fonctionne pas pour l'instant avec obliqueX). import three; size(7.5cm,0); currentprojection=orthographic(5,5,10); //~~~~~~~~~ DEFINITIONS ~~~~~~~~~ // On définit le plan. triple v1=(10,0,0), v2=(0,10,0), pO=(-2,-3,0); path3 pl1=plane(v1,v2,pO); // On définit un chemin path3 ch=(5,3,4)..(5,4,8)..(1,4,4)..(4,-2,3)..cycle; // On définit la projection orthogonale sur le plan pl1 : transform3 proj=planeproject(pl1); // et on définit le projetté de ch : path3 chproj=proj*ch; //~~~~~~~~~ CONSTRUCTIONS ~~~~~~~~~ // On trace le plan. draw(surface(pl1),paleblue+opacity(.5),blue); // On trace le chemin défini draw(ch,blue); // et son projeté draw(chproj,red); for (int i=0; i < length(ch); ++i) draw(point(ch,i)--point(chproj,i), .5bp+blue+dotted);