|
// 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(8cm,0); currentprojection=obliqueX; currentlight=White; triple v1=(4,0,0), v2=(0,6,0), p0=(-2,-3,0); path3 pl=plane(v1,v2,p0); draw(surface(pl),orange); draw(Label("$\vec{v_1}$"),p0--p0+v1,1bp+blue,Arrow3); draw(Label("$\vec{v_2}$"),p0--p0+v2,N,1bp+blue,Arrow3); dot("$p_0$",p0,NW); shipout(bbox(2mm,Fill(white))); |
|
// 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 graph3; size(8cm,0); currentprojection=obliqueX; currentlight=White; path3 pl=(-2,-3,0)--(2,-3,0)--(2,3,0)--(-2,3,0)--cycle; draw(surface(pl,planar=true),orange); dot(Label("$(-2,-3,0)$"),(-2,-3,0),N); label("$(2,3,0)$",(2,3,0),blue); label("$(2,-3,0)$",(2,-3,0),red,Billboard); // Label qui ne s'affichera // pas tant que Billboard ne sera pas toléré avec obliqueX. limits((-3,-4,-2),(3,4,2)); xaxis3("$x$",Arrow3); yaxis3("$y$",Arrow3); zaxis3("$z$",Arrow3); shipout(bbox(2mm,Fill(white))); |
|
size(7.5cm,0); import graph3; currentprojection=perspective(camera=(5,3,3)); path3 p1=shift(-1,-1,0)*scale3(2)*unitsquare3, p2=scale3(.25)*unitcircle3; path3[] p3=shift(.5,.5,0)*p2 ^^shift(-.5,-.5,0)*p2 ^^shift(.5,-.5,0)*p2 ^^shift(-.5,.5,0)*p2; draw(p1,1bp+red); draw(p3,1bp+blue); draw(surface(reverse(p1)^^p3,planar=true),white+opacity(.5)); limits(-1.5X-1.5Y-.5Z,1.5X+1.5Y+Z); xaxis3("$x$",Arrow3); yaxis3("$y$",Arrow3); zaxis3("$z$",Arrow3); |
|
// 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). size(7.5cm,0); import three; settings.tex="pdflatex"; currentprojection=obliqueX; currentlight=nolight; triple v1=(4,0,0), v2=(0,6,0), p0=(-2,-3,0); triple V=(0,0,1.5); path3 pl1=plane(v1,v2,p0); path3 pl2=shift(V)*pl1; draw(surface(pl1),orange); draw(surface(pl2),lightgrey+opacity(.8)); shipout(bbox(2mm,Fill(white))); |
|
// 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). size(7.5cm,0); import three; settings.tex="pdflatex"; currentprojection=obliqueX; currentlight=nolight; triple v1=(4,0,0), v2=(0,6,0), p0=(-2,-3,0); triple V=(0,0,1.5); path3 pl1=plane(v1,v2,p0); path3 pl2=shift(V)*pl1; draw(surface(pl1),orange,.5blue); draw(surface(pl2),lightgrey+opacity(.8),1bp+.8blue); shipout(bbox(2mm,Fill(white))); |
|
size(7.5cm,0); import three; for(int i; i<10; ++i) for(int j; j<10; ++j) draw(shift(2*i,2*j,0)*surface(shift(-1,-1,0)*scale3(2)*unitsquare3 ^^reverse(scale3(.5)*unitcircle3),planar=true), white+opacity(.5)); draw(surface(shift(0,0,-5)*scale3(20)*unitsquare3,planar=true),paleblue); shipout(bbox(2mm,Fill(white))); |
|
// 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). size(7.5cm,0); import three; settings.tex="pdflatex"; currentprojection=obliqueX; currentlight=nolight; triple v1=(4,0,0), v2=(0,6,0), p0=(-2,-3,0); path3 pl1=plane(v1,v2,p0); path3 pl2=rotate(45,Y)*pl1; draw(surface(pl1),paleblue); draw(surface(pl2),gray+opacity(.8),black); draw(-v2/2--v2/2,.8bp+red); shipout(bbox(2mm,Fill(white))); |
|
// 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; import math; dotgranularity=0; // Render dots as spheres. size(7.5cm,0); currentprojection=obliqueX; currentlight=nolight; //~~~~~~~~~ DEFINITIONS ~~~~~~~~~ // On définit le plan. triple v1=(4,0,0), v2=(0,6,0), p0=(-2,-3,0); path3 pl=plane(v1,v2,p0); // On définit la droite. triple ptdr1=(0,2,2), ptdr2=(0,-1,-2); path3 ligne=ptdr1--ptdr2; // On définit le point d'intersection de la droite et du plan. triple[] ptint=intersectionpoints(ligne,surface(pl)); //~~~~~~~~~ CONSTRUCTIONS ~~~~~~~~~ // On trace la droite. draw(ligne,blue); // On trace le plan. draw(surface(pl),paleblue); // On met en évidence le point d'intersection. dot(ptint[0]); shipout(bbox(2mm,Fill(white))); |
Dernière modification le Sat May 22 22:07:55 CEST 2010 par G.Marris Valide XHTML