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