Source
28.45 setxunit
%-1.5 5 setxrange
%-1.5 4.5 setyrange
-1.5 5 setxrange
-1 4 setyrange
/A {0 0} def
/C {4 0} def
/B {0 3} def
/I {B C milieu} def
/G {I A 0.8 hompoint} def
/K {C A 2 3 div hompoint} def
/P {G A 0.5 hompoint} def
/Q {G P 90 rotatepoint} def
/m {A G mediatrice} def

/titrait {%le point à marquer puis un point de la droite
4 dict begin 
/b defpoint
/a defpoint
/d {a a b vecteur arg 90 add dir 0.1 mulv translatepoint} def
/e {a a b vecteur arg -90 add dir 0.1 mulv translatepoint} def
[d e] ligne
end
} def


(B) B up 0.2 mulv translatepoint [1.5 dup ] uctext
(C) C [1.5 dup ] crtext
(A) A [1.5 dup ] dltext
(K) K [1.5 dup ] dctext
(I) I [1.5 dup ] uctext
(G) G down 0.1 mulv translatepoint [1.5 dup ] dctext
[A B A C B C] ligne
[A I] ligne
%G times2
G A titrait
B A C angledroit
G P Q angledroit
B I 2 marked
I C 2 marked
A P 1 marked
P G 1 marked
B K  dotted droite
B A C angledroit
m mixte droite
%I B I distance mixte cercle