A = (-2, 1)
B = (1, 1)
a_2 = Segment(A, B)
M = Midpoint(a_2)
c_2 = Circle(M, a_2 / 2.0)
C = Point(c_2)
poly1, c, a, b = Polygon(A, B, C)
d = Circle(B, b)
e = Ray(B, C)
D = Intersect(d, e, 1.0)
poly2, a_1, b_1, f, g, P, Q = Polygon(A, B, 4.0)
h = Ray(P, D)
k = Circle(A, a)
E = Intersect(k, b, 1.0)
poly3, d_1, b_2, p = Polygon(B, P, D)
poly4, q, a_3, e_1 = Polygon(A, E, Q)
F = Intersect(h, a_3)
poly5, f_1, q_1, p_1 = Polygon(Q, P, F)