%@AUTEUR: David Nivaud verbatimtex %&latex \documentclass{article} \begin{document} etex marksize=4pt; def draw_mark(expr p, a)= begingroup save t, dm; pair dm; t = arctime a of p; dm = marksize*unitvector direction t of p rotated 90 ; draw (-0.5dm..0.5dm) shifted point t of p; endgroup enddef; def draw_marked (expr p, n) = begingroup save amid; amid = 0.5*arclength p; for i=-(n-1)/2 upto (n-1)/2: draw_mark (p,amid+0.6marksize*i); endfor draw p; endgroup enddef; angle_radius=8pt; def mark_angle (expr a, b, c, n) = begingroup save s, p; path p; p = unitvector(a-b){(a-b)rotated 90}..unitvector(c-b); s = 0.9marksize/length(point 1 of p - point 0 of p); if s1$ etex, z5); endfig; beginfig(8); u:=1 cm; z0=(0,0); z1=(2u,2u); draw z0--z1 ; z2 =2[z0,z1]; draw z0--z2; dotlabel.bot(btex $O$ etex, z0); dotlabel.ulft(btex $M'$ etex, z1); dotlabel.top(btex $M$ etex, z2); z3=(2u,0u); draw z0--z3 ; z4 =2[z0,z3]; draw z0--z4; label.bot(btex $N'$ etex, z3); label.bot(btex $N$ etex, z4); drawarrow z1..z3; drawarrow z2..z4; z5=(1u,3u); label.bot(btex $0