size(10cm);
pair B = (0,0);
pair C = (4,0);
pair A = (3,3);
pair O = circumcenter(A,B,C);
pair P = foot(A,B,C);
pair M = midpoint(B,C);
pair Q = foot(O, A, P);
draw(A--B--C--cycle);
draw(A--P);
draw(O--Q, dashed + red);
draw(O--M, dashed + red);
draw(B--O, dashed);
draw(C--O, dashed);
draw(O--P, dashed);
draw(A--O, dashed);
draw(rightanglemark(A, Q, O, 4));
draw(rightanglemark(O, M, B, 4));
dot("$A$", A, N);
dot("$B$", B, W);
dot("$C$", C, E);
dot("$O$", O, NW);
dot("$P$", P, S);
dot("$M$", M, S, red);
dot("$Q$", Q, E, red);