import math def side(a, b): return math.sqrt(math.pow(b[0]-a[0],2)+math.pow(b[1]-a[1],2)) def heron(a, b, c): s=0.5*(a+b+c) return math.sqrt(s*((s-a)*(s-b)*(s-c))) def circle_triangle(a): return math.asin(a/2)-((a/4)*math.sqrt(4-math.pow(a,2))) A = (1,1) B = (2.5,1) C = (2,2) ## Using the algorithm provided in the document... find the intersections A_intersec = (1.51,1.13) B_intersec = (2,1) C_intersec = (1.75,1.66) ## Calcul des longueurs via distance euclidienne AB=side(A_intersec,B_intersec) BC=side(B_intersec,C_intersec) CA=side(C_intersec,A_intersec) ## Formule de Héron triangle_area=heron(AB,BC,CA) ## Calcul des cercles autour des triangles c_AB = circle_triangle(AB) c_BC = circle_triangle(BC) c_CA = circle_triangle(CA) print(c_AB) print(c_BC) print(c_CA) area = triangle_area + c_AB + c_BC + c_CA print(f"Triangle area: {heron(side(A,B),side(B,C),side(C,A))}") print(f"Intersection triangle area: {triangle_area}") print(f"Total area: {area}")