/punto { gsave 3 0 360 newpath arc fill stroke grestore} def /puntino { gsave 2 0 360 newpath arc fill stroke grestore} def /origine1assexper2pilacon|P_2-P_1| { 4 2 roll 2 copy translate exch 4 1 roll sub 3 1 roll exch sub 2 copy atan rotate 2 copy exch 4 1 roll mul 3 1 roll mul add sqrt } def /punta0{0 0 moveto dup dup 0 exch 2 div lineto 0 lineto 0 exch 2 div neg lineto 0 0 lineto fill stroke } def /dirpunta{ gsave origine1assexper2pilacon|P_2-P_1| 0 translate 7 punta0 grestore} def /uno{% a v dup mul div neg} def /due{% T v b sub div} def /p{% a b T v dup 5 1 roll 3 -1 roll due 3 1 roll exch uno add} def gsave 0.7 0.7 scale 171000 10 4390 15 % a b T v_1 4 copy p 1 index 1.5 mul exch moveto 0.5 100 % h v_2 {4 copy p exch 1.5 mul exch lineto} for stroke 26 33 puntino 139 33 puntino 26 0 puntino 139 0 puntino 26 33 moveto 139 33 lineto 0 0 moveto 0 120 lineto 0 0 moveto 170 0 lineto 0 0 0 120 dirpunta 0 0 170 0 dirpunta stroke grestore