O = Point(xAxis)
A = Point(xAxis)
n = 5 (slider from 3 to 12, step 1)
c = Circle(O, A)
R_A = Rotate(A, (360°) / n, O)
a = Segment(O, Midpoint[A, R_A])
c_A = Circle(A, a)
F = Intersect(c, c_A, 1)
A' = Mirror(A, O)
A'F = Segment(A', F)
AF = Segment(F, A)
B = Rotate(A, 60°, O)
D = Intersect(Line[A', F], Line[A, Rotate[F, (180°) / n, A]])
E = Mirror(D, F)
EF = Segment(F, E)
aDE = CircleArc(A, E, D)
aOD = CircleArc(A, D, O)
OE = Segment(O, E)
D' = Mirror(D, OE)
C' = Midpoint(D', E)
OC'_{1} = Segment(O, C')
J_m = Intersect(Line[O, C'], LineBisector[C', D'])
u = Vector(D', Rotate[C', 90°, D'])
jω = Ray(J_m, u)
Ω = Point(jω)
aDC = CircleArc(Ω, D', C')
Ω' = Mirror(Ω, C')
aEC = CircleArc(Ω', E, C')
PΩ: Ω
AEl = Segment(A, E)
AD = Segment(D, A)
l1 = Sequence(Rotate[aDE, (360° * k / n), O], k, 1, n - 1)
l2 = Sequence(Rotate[aDC, (360° * k / n), O], k, 1, n - 1)
l3 = Sequence(Rotate[aEC, (360° * k / n), O], k, 1, n - 1)
AA' = Segment(A', A)
OF = Segment(F, O)
OC' = Segment(O, C')