![]() ![]() |
import graph3; size3(150,IgnoreAspect); size(8cm,0); limits((0,0,0),(10,10,4)); currentprojection=perspective(camera=(20,16,7),target=(5,5,2)); xaxis3(Bounds(),OutTicks(endlabel=false),p=blue); yaxis3(Bounds(),OutTicks(),p=red); zaxis3(Bounds(),OutTicks,p=.8green); |
![]() ![]() |
import grid3; size3(150,IgnoreAspect); size(8cm,0); limits((0,0,0),(10,10,4)); // Les quatres lignes qui suivent permettront dans la majorité // des cas, d'avoir un angle de vue convenable. triple m=currentpicture.userMin(); triple M=currentpicture.userMax(); triple target=0.5*(m+M); currentprojection=perspective(camera=target+realmult(dir(50,40),M-m), target=target); grid3(gridroutine=XYXgrid(),Step=1,step=.5); xaxis3(Bounds(),OutTicks(),p=blue); yaxis3(Bounds(),OutTicks(endlabel=false),p=red); zaxis3(Bounds(Max,Min),OutTicks(),p=.8green); |
![]() ![]() |
import grid3; size3(200,IgnoreAspect); size(7.5cm,0); limits((0,0,0),(10,10,6)); // Les quatres lignes qui suivent permettront dans la majorité // des cas, d'avoir un angle de vue convenable. triple m=currentpicture.userMin(); triple M=currentpicture.userMax(); triple target=0.5*(m+M); currentprojection=perspective(camera=target+realmult(dir(60,50),M-m), target=target); grid3(XYZgrid); xaxis3(Bounds(Both,Min),OutTicks(),p=blue); yaxis3(Bounds(Both,Min),OutTicks(endlabel=false),p=red); zaxis3(Bounds(Both,Min),OutTicks(),p=1bp+.5green); |
![]() ![]() |
import grid3; size3(150,IgnoreAspect); limits((0,0,0),(10,10,6)); currentprojection=perspective(camera=(20,16,7)); grid3(XYZgrid,Step=2); xaxis3(Label("$x$",MidPoint,align=Y-Z), Bounds(Both,Min),OutTicks(endlabel=false),p=blue); yaxis3(Label("$y$",MidPoint,align=X-Z), Bounds(Both,Min),OutTicks(),p=red); zaxis3(Label("$z$",MidPoint,align=X-Y), Bounds(Both,Min),InTicks(),p=1bp+.5green); |
![]() ![]() |
import grid3; size3(150,IgnoreAspect); limits((0,0,0),(10,10,6)); currentprojection=perspective(camera=(20,16,7),target=(5,5,3)); grid3(XYZgrid,Step=5,step=1); xaxis3(Label("$x$",MidPoint,align=Y-Z), Bounds(Both,Min),OutTicks(endlabel=false),p=blue); yaxis3(Label("$y$",MidPoint,align=X-Z), Bounds(Both,Min),OutTicks(endlabel=false),p=red); zaxis3(Label("$z$",MidPoint,align=X-Y), Bounds(Both,Min),InTicks(),p=1bp+.5green); |
![]() ![]() |
import grid3; size3(150,IgnoreAspect); limits((0,0,0),(10,10,6)); currentprojection=perspective(camera=(20,16,7),target=(5,5,3)); triple pM=(7,4,3); draw(box((0,0,0),pM),dotted+1bp); dot("$M$",pM,N); dot("O",(0,0,0),NE); grid3(XYZgrid,Step=5,step=1); xaxis3(Label("$x$",MidPoint,align=Y-Z), Bounds(Both,Min),OutTicks(endlabel=false),p=blue); yaxis3(Label("$y$",MidPoint,align=X-Z), Bounds(Both,Min),OutTicks(endlabel=false),p=red); zaxis3(Label("$z$",MidPoint,align=X-Y), Bounds(Both,Min),InTicks(),p=1bp+.5green); |
![]() ![]() |
import graph3; size3(150,100,IgnoreAspect); size(8cm,0); limits((0,50,0),(10,60,2)); triple m=currentpicture.userMin(); triple M=currentpicture.userMax(); triple target=0.5*(m+M); currentprojection=perspective(camera=target+realmult(dir(60,60),M-m), target=target); xaxis3(Bounds(),OutTicks(endlabel=false),p=blue); yaxis3(Bounds(),OutTicks(Step=5,step=1),p=red); zaxis3(Bounds(),OutTicks,p=.8green); |
![]() ![]() |
import graph3; size3(150,IgnoreAspect); size(8cm,0); limits((0,50,0),(10,60,2)); triple m=currentpicture.userMin(); triple M=currentpicture.userMax(); triple target=0.5*(m+M); currentprojection=perspective(camera=target+realmult(dir(60,50),M-m), target=target); xaxis3(Bounds(),OutTicks(endlabel=false,Step=4,step=.5)); yaxis3(Bounds(),OutTicks(Step=5,step=1)); zaxis3(Bounds(),OutTicks); |
![]() ![]() |
import graph3; size3(150,IgnoreAspect); size(8cm,0); limits((0,50,0),(10,60,2)); triple m=currentpicture.userMin(); triple M=currentpicture.userMax(); triple target=0.5*(m+M); currentprojection=orthographic(camera=target+realmult(dir(60,50),M-m), target=target); xaxis3(Bounds(),OutTicks(endlabel=false),p=blue); yaxis3(Bounds(),OutTicks(Step=5,step=1),p=red); zaxis3(Bounds(),OutTicks,p=.8green); |
![]() ![]() |
import graph3; size3(150,IgnoreAspect); size(8cm,0); limits((50,2005,2),(400,2009,5)); triple m=currentpicture.userMin(); triple M=currentpicture.userMax(); triple target=0.5*(m+M); currentprojection=perspective(camera=target+realmult(dir(60,50),M-m), target=target); xaxis3(Bounds(),OutTicks(Step=100,step=50,endlabel=false),p=blue); yaxis3(Bounds(),OutTicks(Step=1),p=red); zaxis3(Bounds(),OutTicks(Step=1,step=.5),p=.8green); |
![]() ![]() |
// La même figure ci-dessus avec une perspective différente. import graph3; size3(150,IgnoreAspect); size(8cm,0); limits((50,2005,2),(400,2009,5)); // Les quatres lignes qui suivent permettront dans la majorité // des cas, d'avoir un angle de vue convenable par rapport aux // valeurs définies précédemment par limits. triple m=currentpicture.userMin(); triple M=currentpicture.userMax(); triple target=0.5*(m+M); currentprojection=orthographic(camera=target+realmult(dir(60,50),M-m), target=target); xaxis3(Bounds,OutTicks(Step=100,step=50,endlabel=false),p=blue); yaxis3(Bounds,OutTicks(Step=1),p=red); zaxis3(Bounds,OutTicks(Step=1,step=.5),p=.8green); |
![]() ![]() |
// Une figure pour comprendre l'incidence de dir(50,50) dans la // définition de currentprojection, pour définir l'angle de vue // sous laquelle l'observateur voit l'objet. // On peut changer l'angle de vue, en remplaçant dir(50,50) par dir(n,p) // où n est une mesure de la colatitude et p une mesure de la longitude. // cf. valeurs de n (en gris) et valeurs de p (en orange) sur la figure. import graph3; size3(150,IgnoreAspect); size(8cm,0); limits((0,50,0),(10,60,2)); triple m=currentpicture.userMin(); triple M=currentpicture.userMax(); triple target=0.5*(m+M); currentprojection=perspective(camera=target+realmult(dir(50,50),M-m), target=target); for(int k=0; k<4; ++k){ triple direction=.5*realmult(dir(k*30,60),M-m); path3 p=target--target+direction; draw(p,1bp+lightgray); label(format("%i",k*30),target+direction,gray); } for(int k=0; k<7; ++k){ triple direction=.5*realmult(dir(60,k*30),M-m); path3 p=target--target+direction; draw(p,1bp+gray); label(format("%i",k*30),target+direction,orange); } xaxis3(Bounds(),OutTicks(endlabel=false),p=blue); yaxis3(Bounds(),OutTicks(Step=5,step=1),p=red); zaxis3(Bounds(),OutTicks,p=.8green); |
![]() ![]() |
import graph3; import math; size(8cm,0); currentprojection=perspective(4,2,2); // Plans (xOy), (yOz), (xOz) real a=1.2; pen bg=palered+opacity(0.5); draw(surface((a,0,0)--(a,0,a)--(0,0,a)--(0,0,0)--cycle),bg); draw(surface((0,a,0)--(0,a,a)--(0,0,a)--(0,0,0)--cycle),bg); draw(surface((a,0,0)--(a,a,0)--(0,a,0)--(0,0,0)--cycle),bg); label("$O$",(0,0,0),W); // Point M défini par ses coordonnées sphériques real rayon=0.8, phi=40, theta=60; triple pM=rayon*dir(phi,theta); draw(O--rayon*dir(90,theta),dashed); label("$M$",pM,N); draw("$\rho$",O--pM,S+E,Arrow3,PenMargin3); draw("$\varphi$", reverse(arc(O,0.5*pM,0.5*Z)), N+0.3E,Arrow3(DefaultHead2(normal=X-Y),size=16bp)); draw("$\theta$", arc(O,0.5*X,0.5*(pM.x,pM.y,0)), N+0.3E,Arrow3(DefaultHead2(normal=Z),size=16bp)); real r=sqrt(pM.x^2+pM.y^2); draw(arc((0,0,pM.z),(r,0,pM.z),(0,r,pM.z)),dashed); draw(arc(O,rayon*Z,rayon*dir(90,theta)),dashed); draw(arc(O,rayon*Z,rayon*X),.5bp+green); draw(arc(O,rayon*Z,rayon*Y),.5bp+red); draw(arc(O,rayon*X,rayon*Y),.5bp+blue); limits(O,X+Y+Z); xaxis3(Label("$x$",1),blue,arrow=Arrow3); yaxis3(Label("$y$",1),blue,arrow=Arrow3); zaxis3(Label("$z$",1),blue,arrow=Arrow3); |
![]() ![]() |
frame f; label(f,"\textbf{Exemple \`a venir}",yellow,Fill(.5blue)); add(rotate(20)*scale(3)*f); |
Dernière modification le Sun Feb 12 10:30:08 CET 2012 par G.Marris Valide XHTML