import geometry; defaultpen(fontsize(12pt)); //все графики будут ручкой 12 шрифтом dotfactor=4; //размер точек size(9cm,0); //ширина и высота pair A, B, C, Ep, L, K, O; //объявляю точки для дальнейших вычислений A=(0,0); B=(3,7); C=(10,0); Ep=point(B--C,0.5*length(B--C)); L=(4.5,0); K=(3,0); O=intersectionpoint(line(B,L),line(A,Ep)); draw (B--K); draw (A--Ep); draw (B--L); draw (A--B--C--cycle); dot(A, 0.8bp+black,UnFill); //можно выколотые точки и так делать dot(B,0.8bp+black,Fill(white)); //можно выколотые точки и так делать dot(C,0.8bp+black,Fill(white)); dot(Ep,0.8bp+black,Fill(white)); dot(L,0.8bp+black,Fill(white)); dot(K,0.8bp+black,Fill(white)); dot(O,0.8bp+black,Fill(white)); markrightangle(size=5, A, K, B); //прямой угол markangle(n=2, radius=15, A, B, L); // угол ABL markangle(n=2, radius=10, L, B, C); // угол LBC markangle(radius=10, C, A, Ep); // угол EAC markangle(radius=15, Ep, A, B); // угол BAE label("$A$", A, SW); label("$B$", B, N); label("$C$", C, SE); label("$E$", Ep, NE); label("$L$", L, S); label("$K$", K, NE); label("$O$", O, WNW); draw(Label(rotate(70)*"$6a$", Relative(0.5), align=W, black), A--B, opacity(0)); draw(Label(rotate(315)*"$2b$", Relative(0.56), align=E, black), B--C, opacity(0)); draw(Label("$3a$", Relative(0.65), align=S, black), A--L, opacity(0)); draw(Label(rotate(280)*"$2a$", Relative(0.5), align=E, black), O--L, opacity(0)); draw(Label(rotate(280)*"$4a$", Relative(0.5), align=E, black), B--O, opacity(0)); label("$b$", L--C, S); //draw - нарисовать подпись label c bvtytv 6a, Relative - по середине строки (0.5), располагаю надпись с помощью align по левому краю с помощью W, черного цвета black. Линию, к которой прикреплена надпись делаю невидимой с помощью opacity(0). С помощью rotate я поворачиваю саму надпись на определенный граду