input geometriesyr16; vardef cotationarc(expr aaa,bbb,decal,ecart,sens,texte)=%pour le texte sens=1 ou -1 save ty; picture ty; pair mnp,ctr; mnp=iso(aaa,bbb)+decal*unitvector(rotation(bbb,iso(aaa,bbb),90)% -iso(aaa,bbb)); ctr=CentreCercleC(aaa,bbb,mnp); path cts[]; cts0=arccercle(bbb,aaa,ctr); cts1=arccercle(bbb,cts0 intersectionpoint% perpendiculaire(aaa,bbb,iso(aaa,bbb)),ctr); cts2=arccercle(cts0 intersectionpoint% perpendiculaire(aaa,bbb,iso(aaa,bbb)),aaa,ctr); ty=image( trace subpath(0,arctime(arclength cts1*(1-(ecart/10))) of cts1)% of cts1 dashed evenly; trace subpath(0,arctime(arclength cts2*(1-(ecart/10)))% of reverse(cts2)) of reverse(cts2) dashed evenly; if sens=1: label(texte rotated (angle(bbb-aaa)),mnp); else: label(texte rotated (angle(bbb-aaa)+180),mnp); fi; ); ty enddef; figuremainlevee(0,0,4u,4u); pair I,B,C,D; B=u*(0.5,1.5); C-B=u*(3,-1); D=3/5[B,rotation(C,B,90)]; I=milieu(C,D); trace polygone(B,C,D); trace codeperp(D,B,C,5); trace segment(B,I); trace Codelongueur(D,I,I,C,2); trace cotationarc(D,C,8mm,3,1,btex 8~cm etex); nomme.lft(B); nomme.lrt(C); nomme.top(D); nomme.top(I); finmainlevee; figuremainlevee(0,0,3.8u,4u); pair T,P,G,M,N; T=u*(1,0.5); P-T=u*(2.5,1); G-T=u*(-0.5,2.5); M=milieu(G,T); N=milieu(P,G); trace polygone(G,T,P); trace droite(M,N); trace Codelongueur(T,M,M,G,2); trace Codelongueur(G,N,N,P,4); nomme.lft(T); nomme.top(G); nomme.lrt(P); nomme.ulft(M); nomme.top(N); finmainlevee; figuremainlevee(0,0,4u,4u); pair R,V,N,T,O; V=u*(0.5,2); R-V=u*(1,-1.5); T-V=u*(0.5,1.25); N-T=R-V; O=segment(T,R) intersectionpoint segment(V,N); trace polygone(R,V,T,N); trace segment(R,T); trace segment(V,N); trace Codelongueur(R,O,O,T,4); trace Codelongueur(N,O,O,V,2); nomme.lft(V); nomme.bot(R); nomme.rt(N); nomme.top(T); nomme.llft(O); finmainlevee; figuremainlevee(0,0,4u,4u); pair I,L,M,P,T; T=u*(1.5,0.5); P-T=u*(2,1); L=3/5[T,rotation(P,T,90)]; M-L=P-T; I=segment(L,P) intersectionpoint segment(T,M); trace polygone(M,L,T,P); trace codeperp(L,T,P,5); trace segment(T,M); trace segment(P,L); trace Codelongueur(L,I,I,P,2); trace Codelongueur(T,I,I,M,4); nomme.llft(T); nomme.rt(P); nomme.urt(M); nomme.top(I); nomme.top(L); finmainlevee; figuremainlevee(0,0,4u,3.75u); pair C,T,K,I,J; K=u*(0.5,0.5); C-K=u*(3,1); T=3/5[C,rotation(K,C,-90)]; I=iso(T,K); J=iso(C,K); trace polygone(C,T,K); trace droite(I,J); trace codeperp(T,C,K,5); trace codeperp(I,J,C,5); trace Codelongueur(K,J,J,C,2); nomme.llft(K); nomme.rt(C); nomme.top(T); nomme.lft(I); nomme.llft(J); finmainlevee; end