import geometry; size(9cm, 0); defaultpen(fontsize(10pt)); dotfactor = 4; point A,B,B1,O,C; B=(0,0); B1=-2*dir(80); circle circ = circle(B, B1); O=circ.C; C=point(circ, -1/15*length(circ)); A=point(circ, B-1/4*length(circ)); //не смог придумать решени, как от точки B отступить дугу 90 fill(A--O--B--cycle, red+white); fill(C--O--B--cycle, blue+white); fill(A--O--C--B1--cycle, orange+white); markangle(Label("$\alpha$", Relative(0.5), align = NE), radius = 0.3cm, n=1, C,O,B); markrightangle(size=0.2cm, B,O,A); draw(B--B1); draw(B--C^^O--C^^O--A^^A--B); draw(circ); pair p []={A, B, B1, C, O}; pair v []={W, N, S, SE, SW}; string n []={"$A$", "$B$", "$B_1$", "$C$", "$O$"}; for ( int k=0; k