u = (0, -1)
O = (6, 4)
h = OrthogonalLine(O, u)
v = Ray(O, u)
d_2 = Ray(O, Vector[Rotate[u, 45°]])
E = Point(d_2)
T = Intersect(h, Line[E, u])
D = Intersect(v, OrthogonalLine[E, u])
d_1 = Ray(O, Vector[Rotate[u, 315°]])
B = Point(d_1)
C = Intersect(v, OrthogonalLine[B, u])
S = Intersect(h, Line[B, u])
A = Intersect(Circle[S, Segment[O, D]], Segment[S, T])
p, a, b, c, d, e = Polygon(A, B, C, D, E)
γ_1 = Arc(Circle[B, C], S, C)
γ_2 = Arc(Circle[E, D], D, T)
M = Point(γ_1)
P = Rotate(A, Angle[S, B, M], B)
N = Point(γ_2)
Q = Rotate(A, Angle[T, E, N], E)
t_1, p_1, b_1, m = Polygon(B, M, P)
t_2, q, e_1, n = Polygon(E, N, Q)