// 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);