xa:=0; ya:=0; xb:=1; yb:=0; assume(xc=(-1)); assume(yc=1); A:=point(xa,ya); B:=point(xb,yb); C:=point(xc,yc); triangle(A,B,C); G:=circonscrit(A,B,C); assume(x=1); assume(y=2); M:=point(x,y); P:=projection(droite(B,C),M); Q:=projection(droite(C,A),M); R:=projection(droite(A,B),M); couleur(droite(P,Q),vert); // M est sur le cercle circonscrit ssi P,Q,R alignes D1:=factor(numer(im((Q-P)*conj(R-P)))); D12:=D1[2]; D2:=equation(G); D22:=factor(numer(equal2diff(D2))); normal(D12/D22)