caracol

Modificando ligeramente el toro.

A = Point(yAxis)
c = Circle(xAxis, A)
a = OrthogonalLine(A, xOyPlane)
r = 0.3 (slider from 0.2 to 1, step 0.1)
B = Point(yAxis)
d = Circle(A, r, a)
n = 122 (slider from 1 to 300, step 1)
lista1 = Sequence(Rotate[d, ((i * 360) * ° / n), xAxis], i, 1, n)
lista2 = Sequence(Rotate[A, ((i * 360) * ° / n), xAxis], i, 1, n)
b = 12.1 (slider from 0 to 20, step 0.1)
lista3 = Sequence(Dilate[Element[lista1, i], 1 + (b * i / 360), Element[lista2, i]], i, 1, n)