Comprobar

Regla1a = (8.06, 0.7000000000000001)
Regla1b = Circle(Regla1a, 4)
Regla1c = Point(Regla1b)
Regla1c1 = 0.17453292519943295 rad (slider from 0 to 6.283185307179586, step 0.017453292519943295)
Regla1c2: Regla1c1 / 2
Regla1d: Angle[Regla1a + (1, 0), Regla1a, Regla1c] - Regla1c1 / 2
Regla1e = Rotate(Regla1a + ((-7.68), (-0.5)), (Regla1c2 * Div[Regla1d + Regla1c2, Regla1c2]), Regla1a)
Regla1f = Rotate(Regla1a + (7.68, (-0.5)), (Regla1c2 * Div[Regla1d + Regla1c2, Regla1c2]), Regla1a)
Regla1g = Rotate(Regla1a - (0.19, 0.19), Regla1d, Regla1a)
Regla1h = Rotate(Regla1a - ((-0.19), 0.19), Regla1d, Regla1a)
Regla1i: Regla1c - (0.21, 0.19)
Regla1j: Regla1c - ((-0.21), 0.19)
o = false
A = (4.24, -4.58)
r = 8.5
B: A + (r, 0)
f = Segment(A, B)
K = Midpoint(f)
U = Point(Segment[K + (0, r + 0.5), K + (0, 3)])
U' = Mirror(U, f)
a = Segment(U, K)
C = Point(f)
C' = Mirror(C, a)
c = Ellipse(C, C', A)
E = Point(f)
E' = Mirror(E, a)
s = AffineRatio(A, B, C)
D: E + (s * (Distance[E, E'], 0))
D' = Mirror(D, a)
d = Ellipse(D, D', E)
u = Vector(K, U)
d'_1 = Translate(d, u)
b = OrthogonalLine(E, f)
e = OrthogonalLine(E', f)
g = OrthogonalLine(U, e)
F = Intersect(b, g)
G = Intersect(e, g)
h = Segment(F, E)
i = Segment(G, E')
polígono1: {Polygon[E, E', G, F]}
d' = Translate(d, u)
J = Point(h)
J' = Mirror(J, a)
polígono2: {Polygon[E, E', J', J]}
k = Ellipse(D, D', E)
p = Ellipse(C, C', A)