Author: Daniel Mentrard

B_1 = (-12.117607713856028, -15.729646308428135)
Vues = (20, -6)
xa: x(Vues)
sinphi: sin(xa)
cosphi: cos(xa)
ya: y(Vues)
sintheta: sin(ya)
Zoom = 3.6 (slider from 0.1 to 5, step 0.1)
xy: -(Zoom) * cosphi * sintheta
g = 1 (slider from -5 to 5, step 0.1)
X: (x(B_1) + Zoom * sinphi, y(B_1) + xy)
u = Vector(B_1, X)
O = (2.914778317930346, -4.963559204822421)
k = 1 (slider from -5 to 5, step 0.1)
costheta: cos(ya)
Z: (x(B_1), y(B_1) + Zoom * costheta)
w = Vector(B_1, Z)
a_1 = OrthogonalLine(Vues, yAxis)
b_1 = OrthogonalLine(Vues, xAxis)
c_1: cos(ya)
Y: (x(B_1) + Zoom * cosphi, y(B_1) + Zoom * sinphi * sintheta)
v = Vector(B_1, Y)
r = 2.3 (slider from -5 to 5, step 0.1)
m = 18 (slider from 1 to 30, step 1)
n = 18 (slider from 1 to 30, step 1)
f_1(x) = r * cos(x)
f_2(x) = r * sin(x)
a = 0.8 (slider from 0 to 5, step 0.1)
O' = Translate(O, Vector[a * w])
O'' = Mirror(O', O)
liste1 = Sequence(CurveCartesian[x(O'' + f_1(s) * cos(-(t)) * u + f_1(s) * sin(t) * v - f_2(s) * w), y(O'' + f_1(s) * cos(-(t)) * u + f_1(s) * sin(t) * v - f_2(s) * w), s, 0.0, 3.141592653589793 * n / 18.0], t, 0.0, m / 24.0 * 2.0 * 3.141592653589793, 0.2618)
liste2 = Sequence(CurveCartesian[x(O'' + f_1(s) * cos(-(t)) * u + f_1(s) * sin(t) * v - f_2(s) * w), y(O'' + f_1(s) * cos(-(t)) * u + f_1(s) * sin(t) * v - f_2(s) * w), t, 0.0, 2.0 * m * 3.141592653589793 / 12.0], s, 0.0, 3.141592653589793 * n / 18.0, 0.34907)
liste3 = Sequence(CurveCartesian[x(O' + f_1(s) * cos(-(t)) * u + f_1(s) * sin(t) * v - f_2(s) * w), y(O' + f_1(s) * cos(-(t)) * u + f_1(s) * sin(t) * v - f_2(s) * w), s, -(3.141592653589793) * n / 18.0, 0.0], t, -(m) / 24.0 * 2.0 * 3.141592653589793, 0.0, 0.2618)
liste4 = Sequence(CurveCartesian[x(O' + f_1(s) * cos(-(t)) * u + f_1(s) * sin(t) * v - f_2(s) * w), y(O' + f_1(s) * cos(-(t)) * u + f_1(s) * sin(t) * v - f_2(s) * w), t, -2.0 * m * 3.141592653589793 / 12.0, 0.0], s, -(3.141592653589793) * n / 18.0, 0.0, 0.34907)
b = CurveCartesian(x(O' + r * sin(i°) * u - r * cos(i°) * v + r * 0.0 * sin(i°) * w), y(O' + r * sin(i°) * u - r * cos(i°) * v + r * 0.0 * sin(i°) * w), i, 0.0, 360.0)
c = CurveCartesian(x(O'' + r * sin(i°) * u - r * cos(i°) * v + r * 0.0 * sin(i°) * w), y(O'' + r * sin(i°) * u - r * cos(i°) * v + r * 0.0 * sin(i°) * w), i, 0.0, 360.0)
d = CurveCartesian(x(O' + r * sin(i°) * u - r * cos(i°) * v + r * 0.0 * sin(i°) * w), y(O' + r * sin(i°) * u - r * cos(i°) * v + r * 0.0 * sin(i°) * w), i, 0.0, 360.0)
e = CurveCartesian(x(O'' + r * sin(i°) * u - r * cos(i°) * v + r * 0.0 * sin(i°) * w), y(O'' + r * sin(i°) * u - r * cos(i°) * v + r * 0.0 * sin(i°) * w), i, 0.0, 360.0)
f = Segment(O', O'')