GeoGebra script
sigma = Slider(0.01, 3, 0.01, 1, 200)
translateX = Slider(-3, 3, 0.01, 1, 200)
epsilon = Slider(0.01, 0.5, 0.01, 1, 200)
h = Slider(0, 2, 0.01, 1, 200)
lambda = Slider(0, 0.5, 0.01, 1, 200)
# Figure 8 knot
A(x) = epsilon sin(4x)
H(x) = (1+A(x)) / (1-A(x))
fx(x) = sigma * H(x) (lambda * sin(x) - (1-lambda) sin(3x)) + translateX
fy(x) = sigma * H(x) (lambda * cos(x) + (1-lambda) cos(3x))
fz(x) = sigma * H(x) (h sin(2x))
figureEightKnot = Curve(fx(t), fy(t), fz(t), t, 0, 2pi)
# 2-sphere
sx(x, y) = cos(x) sin(y)
sy(x, y) = sin(x) sin(y)
sz(x, y) = cos(y)
twoSphere = Surface(sx(u, v), sy(u, v), sz(u, v), u, 0, 2pi, v, 0, pi)
# Inversion
norm2(x) = (fx(x))^2 + (fy(x))^2 + (fz(x))^2
figureEightKnotInverted = Curve(fx(t) / norm2(t), fy(t) / norm2(t) , fz(t) / norm2(t), t, 0, 2pi)