input geometriesyr16; figure(0,0,10u,10u); pair A,B,C,D,E; A=u*(1,1); E-A=u*(5,0); C=3/5[E,rotation(A,E,-90)]; D=2/5[A,E]; B=2/5[A,C]; trace triangle(A,C,E); trace segment(B,D); trace codeperp(B,D,A,5); trace codeperp(C,E,A,5); nomme.lft(A); nomme.bot(D); nomme.lrt(E); nomme.top(C); nomme.top(B); fin; typerepre:="persp"; figureespace(-5u,-3u,5u,3u); Initialisation(10,0,10,30); path CF; CF=cercles((0,0,0),(0,0,2),(0,0,0),(0,1,0),(0,0,1));%Cercle facial path CL; CL=cercles((0,0,0),(0,2,0),(0,0,0),(0,1,0),(1,0,0));%cercle horizontal trace subpath(0,length CL/2) of CL; trace subpath(length CL/2,length CL) of CL dashed evenly; color M,M'; M=(0,2*cosd(150),2*sind(150)); M'=(-1,0,bluepart(M)); color Cent; Cent=(0,0,bluepart(M)); path Sect; Sect=cercles(Cent,M,Cent,M,M'); %La sphère trace CF cutbefore droite(symetrie(Cent,M)+(2,-1/2,0),symetrie(symetrie(Cent,M)-(2,-1/2,0),Cent)) cutafter droite(M,Cent) dashed evenly; trace CF cutbefore demidroite(Cent,symetrie(M,Cent)) cutafter droite(symetrie(Cent,M)+(2,-1/2,0),symetrie(symetrie(Cent,M)-(2,-1/2,0),Cent)) dashed evenly; path CFH; CFH=CF cutbefore droite(M,Cent) cutafter droite(M,Cent); trace CFH; trace (subpath(0,length CF/4) of CF) cutafter droite(symetrie(Cent,M)+(2,-1/2,0),symetrie(symetrie(Cent,M)-(2,-1/2,0),Cent)); trace (subpath(length CF/4,length CF) of CF) cutbefore droite(symetrie(Cent,M)+(2,-1/2,0),symetrie(symetrie(Cent,M)-(2,-1/2,0),Cent)); %La section trace subpath(0,length Sect/2) of Sect dashed evenly; trace subpath(length Sect/2,length Sect) of Sect; trace polygone(Cent,M,(0,0,0)) dashed evenly; trace codeperp((0,0,0),Cent,M,5); %le plan trace polygone(symetrie(Cent,M)+(2,-1/2,0),symetrie(Cent,M)-(2,-1/2,0),symetrie(symetrie(Cent,M)+(2,-1/2,0),Cent),symetrie(symetrie(Cent,M)-(2,-1/2,0),Cent)) cutbefore CFH cutafter CFH dashed evenly; trace polygone(symetrie(Cent,M)+(2,-1/2,0),symetrie(Cent,M)-(2,-1/2,0),symetrie(symetrie(Cent,M)+(2,-1/2,0),Cent),symetrie(symetrie(Cent,M)-(2,-1/2,0),Cent)) cutafter CFH; trace reverse(polygone(symetrie(Cent,M)+(2,-1/2,0),symetrie(Cent,M)-(2,-1/2,0),symetrie(symetrie(Cent,M)+(2,-1/2,0),Cent),symetrie(symetrie(Cent,M)-(2,-1/2,0),Cent))) cutafter reverse(CFH); %label nomme.lft(M); label.lrt("O",Projette((0,0,0))); label.urt("O'",Projette(Cent)); finespace; end