t = 0 (slider from 0 to 1, step 0.01)
r = 1 (slider from 1 to 2, step 0.1)
ancho: x(Corner[3.0] - Corner[4.0])
t': ((ancho + 3.0 * r) * t - r) / r
alto: y(Corner[4.0] - Corner[1.0])
a = Line(Corner[4.0] + (0.0, -1.0 * 1.0 * 1.0 * 1.0 * 1.0 * 1.0 * 1.0 * 1.0 * 1.0 * 1.0 * 1.0 * 1.0 * 1.0 * 1.0 * 1.0 * 1.0 * 1.0 * 1.0 * 1.0 * 1.0 * 1.0 * 1.0 * 1.0 * alto / 2.0), Corner[4.0] + (1.0, -1.0 * 1.0 * 1.0 * 1.0 * 1.0 * 1.0 * 1.0 * 1.0 * 1.0 * 1.0 * 1.0 * 1.0 * 1.0 * 1.0 * 1.0 * 1.0 * 1.0 * 1.0 * 1.0 * 1.0 * 1.0 * 1.0 * 1.0 * alto / 2.0))
I = Point(a)
D: Corner[4.0] + (-1.0 * 1.0 * 1.0 * 1.0 * 1.0 * 1.0 * 1.0 * 1.0 * 1.0 * 1.0 * 1.0 * 1.0 * 1.0 * 1.0 * 1.0 * 1.0 * 1.0 * 1.0 * 1.0 * 1.0 * r, -1.0 * 1.0 * 1.0 * 1.0 * 1.0 * 1.0 * 1.0 * 1.0 * 1.0 * 1.0 * 1.0 * 1.0 * 1.0 * 1.0 * 1.0 * 1.0 * 1.0 * 1.0 * 1.0 * 1.0 * alto / 2.0)
j: Segment[D, I] / r
n = 4 (slider from 3 to 20, step 1)
A: D + (t' * r, 0.0)
c = Circle(A, r)
B: A - (0.0, r)
B' = Rotate(B, -1.0 * t', A)
B'' = Rotate(B', 360.0 * ° / n, A)
polígono1, b, d, e, l, C, E = Polygon(B', B'', n)
f = Ray(A, B)
G: I - (0.0, r)
G' = Rotate(G, -1.0 * j, I)
G'' = Rotate(G', 360.0 * ° / n, I)
polígono2, h, g', k, m, H, J = Polygon(G', G'', n)
i = Ray(I, G)
g = Circle(I, r)
lista1 = Sequence(Rotate[G', 2.0 * 3.141592653589793 * s / n, I], s, 0.0, n)
lista2 = Sequence(Segment[Element[lista1, s], Element[lista1, s + 1.0]], s, 1.0, n)
lista3 = Sequence(Intersect[Element[lista2, s], i], s, 1.0, n)
lista4 = RemoveUndefined(lista3)
F = Element(lista4, 1.0)
lugar2 = Locus(F, I)
lista5 = Sequence(Rotate[B', 2.0 * 3.141592653589793 * s / n, A], s, 0.0, n)
lista6 = Sequence(Segment[A, Element[lista5, s]], s, 1.0, n)
lista7 = Sequence(Segment[Element[lista5, s], Element[lista5, s + 1.0]], s, 1.0, n)