Sphere terrestre
Author: Daniel Mentrard

f = 200 (slider from 3 to 200, step 1)
A = (2.073934594095928, -3.6121741447885127)
O = (-1.9222592427699663, -0.3487045839927024)
Zoom = 1 (slider from 1 to 2, step 0.1)
Mouvement = (8.836767667013845, -2.1562864693686836)
ya: y(Mouvement)
sintheta: sin(ya)
costheta: cos(ya)
xa: x(Mouvement)
cosphi: cos(xa)
xy: -(Zoom) * cosphi * sintheta
sinphi: sin(xa)
B_1 = (-3.7965802261453185, -6.398711846129691)
X: (x(B_1) + Zoom * sinphi, y(B_1) + xy)
u_1 = Vector(B_1, X)
K = Translate(O, u_1)
u = Vector(O, K)
Y: (x(B_1) + Zoom * cosphi, y(B_1) + Zoom * sinphi * sintheta)
v_1 = Vector(B_1, Y)
N = Translate(O, v_1)
w = Vector(O, N)
Z: (x(B_1), y(B_1) + Zoom * costheta)
w_1 = Vector(B_1, Z)
G = Translate(O, w_1)
v = Vector(O, G)
h = 0.67 (slider from 0.42 to 0.67, step 0.01)
list9 = Sequence((x(A), y(A)) + 4.0 * (cos(240.0°) * cos(i * 30.0°) * u + sin(240.0°) * cos(i * 30.0°) * w + sin(i * 30.0°) * v), i, 0.0, f, h)
list8 = Sequence((x(A), y(A)) + 4.0 * (cos(120.0°) * cos(i * 30.0°) * u + sin(120.0°) * cos(i * 30.0°) * w + sin(i * 30.0°) * v), i, 0.0, f, h)
list7 = Sequence((x(A), y(A)) + 4.0 * (cos(60.0°) * cos(i * 30.0°) * u + sin(60.0°) * cos(i * 30.0°) * w + sin(i * 30.0°) * v), i, 0.0, f, h)
list5 = Sequence((x(A), y(A)) + 4.0 * (cos(0.0) * cos(i * 30.0°) * u + sin(0.0) * cos(i * 30.0°) * w + sin(i * 30.0°) * v), i, 0.0, f, h)
list6 = Sequence((x(A), y(A)) + 4.0 * (cos(30.0°) * cos(i * 30.0°) * u + sin(30.0°) * cos(i * 30.0°) * w + sin(i * 30.0°) * v), i, 0.0, f, h)
g = 1 (slider from -5 to 5, step 0.1)
k = 1 (slider from -5 to 5, step 0.1)
a = OrthogonalLine(Mouvement, yAxis)
b = OrthogonalLine(Mouvement, xAxis)
c: cos(ya)
e = Line(O, G)
A1: (x(A), y(A)) + 4.0 * v
A2: (x(A), y(A)) - 4.0 * v
d = Segment(A2, A)
B = Mirror(Z, B_1)
z = Vector(B_1, B)
liste7 = Sequence((x(A), y(A)) + 4.0 * (cos(90.0°) * cos(i * 30.0°) * u + sin(90.0°) * cos(i * 30.0°) * w + sin(i * 30.0°) * v), i, 0.0, f, h)
liste10 = Sequence((x(A), y(A)) + 4.0 * (cos(150.0°) * cos(i * 30.0°) * u + sin(150.0°) * cos(i * 30.0°) * w + sin(i * 30.0°) * v), i, 0.0, f, h)
liste1 = Sequence(Segment[Element[list8, i], Element[list8, i + 1.0]], i, 0.0, f)
liste12 = Sequence(Segment[Element[liste10, i], Element[liste10, i + 1.0]], i, 0.0, f)
liste13 = Sequence(Segment[Element[list5, i], Element[liste10, 30.0 - i]], i, 0.0, f, h)
liste2 = Sequence(Segment[Element[list9, i], Element[list9, i + 1.0]], i, 0.0, f)
liste3 = Sequence(Segment[Element[list6, i], Element[list6, i + 1.0]], i, 0.0, f)
liste4 = Sequence(Segment[Element[list5, i], Element[list5, i + 1.0]], i, 0.0, f)
liste14 = Sequence((x(A), y(A)) + 4.0 * (cos(180.0°) * cos(i * 30.0°) * u + sin(180.0°) * cos(i * 30.0°) * w + sin(i * 30.0°) * v), i, 0.0, f, h)
liste16 = Sequence(Segment[Element[liste7, i], Element[liste7, i + 1.0]], i, 0.0, f)
list10 = Sequence(Conic[Element[list5, i], Element[list6, i], Element[list7, i], Element[list8, i], Element[list9, i]], i, 0.0, f, h)
liste11 = Sequence(Segment[Element[liste10, i], Element[list8, i + 1.0]], i, 0.0, f, h)
liste15 = Sequence(Segment[Element[liste10, i], Element[liste14, i + 1.0]], i, 0.0, f, h)
liste9 = Sequence(Segment[Element[liste7, i], Element[list8, i + 1.0]], i, 0.0, f, h)
liste6 = Sequence(Segment[Element[list7, i], Element[list6, i + 1.0]], i, 0.0, f, h)
liste5 = Sequence(Segment[Element[list5, i], Element[list6, i + 1.0]], i, 0.0, f, h)
liste8 = Sequence(Segment[Element[list7, i], Element[liste7, i + 1.0]], i, 0.0, f, h)
liste17 = Sequence((x(A2), y(A2)) + 0.5 * (cos(0.0) * cos(i * 90.0°) * u + sin(0.0) * cos(i * 90.0°) * v + sin(i * 90.0°) * w), i, 0.0, f, h)
liste18 = Sequence((x(A1), y(A1)) + 0.5 * (cos(0.0) * cos(i * 90.0°) * u + sin(0.0) * cos(i * 90.0°) * v + sin(i * 90.0°) * w), i, 0.0, f, h)
p = Conic(Element[liste17, 1.0], Element[liste17, 10.0], Element[liste17, 20.0], Element[liste17, 30.0], Element[liste17, 50.0])
q = Conic(Element[liste17, 1.0], Element[liste17, 10.0], Element[liste17, 20.0], Element[liste17, 30.0], Element[liste17, 50.0])
r = Conic(Element[liste18, 1.0], Element[liste18, 10.0], Element[liste18, 20.0], Element[liste18, 30.0], Element[liste18, 50.0])
s = Conic(Element[liste18, 1.0], Element[liste18, 10.0], Element[liste18, 20.0], Element[liste18, 30.0], Element[liste18, 50.0])