a = 5 (slider from 0 to 5, step 0.25)
b = 4 (slider from 0 to 5, step 0.25)
c = 3 (slider from 0 to 5, step 0.25)
Σ: x^(2) / a^(2) + y^(2) / b^(2) + z^(2) / c^(2) = 1
A: (7, 8, 9)
θ = 0 (slider from 0 to 6.283185307179586, step 0.001)
ϕ = 0 (slider from 0 to 3.141592653589793, step 0.001)
xhat(u, v) = ((a * cos(u)) * sin(v))
yhat(u, v) = ((b * sin(u)) * sin(v))
zhat(v) = (c * cos(v))
C: (xhat(θ, ϕ), yhat(θ, ϕ), zhat(ϕ))
l = Line(A, C)
m(u, v) = (zhat(v) - z(A)) / (xhat(u, v) - x(A))
k(u, v) = (yhat(u, v) - y(A)) / (xhat(u, v) - x(A))
a_{1}(u, v) = (2 * (((b^(2) * z(A)) * m(u, v)) + ((c^(2) * y(A)) * k(u, v)) - (x(A) * ((b^(2) * m(u, v)^(2)) + (c^(2) * k(u, v)^(2))))) / ((b^(2) * c^(2))))
a_2(u, v) = (((a^(2) * b^(2)) * m(u, v)^(2)) + ((a^(2) * c^(2)) * k(u, v)^(2)) + (b^(2) * c^(2))) / (((a^(2) * b^(2)) * c^(2)))
x_1(u, v) = ((-a_{1}(u, v))) / a_2(u, v) - xhat(u, v)
y_1(u, v) = y(A) + (k(u, v) * (x_1(u, v) - x(A)))
z_1(u, v) = z(A) + (m(u, v) * (x_1(u, v) - x(A)))
D: (x_1(θ, ϕ), y_1(θ, ϕ), z_1(θ, ϕ))
s = 3 (slider from 0 to 5, step 0.25)
E: (s * C) + ((1 - s) * D)
x_E(u, v) = (s * xhat(u, v)) + ((1 - s) * x_1(u, v))
y_E(u, v) = (s * yhat(u, v)) + ((1 - s) * y_1(u, v))
z_E(u, v) = (s * zhat(v)) + ((1 - s) * z_1(u, v))
Δ = Surface(x_E(u, v), y_E(u, v), z_E(u, v), u, 0, (2 * π), v, 0, (2 * π))
δ(t) = sqrt((((-c^(2)) * x(A)^(2)) * ((((c^(2) * ((a^(2) * y(A)^(2)) + (b^(2) * x(A)^(2)))) + ((a^(2) * b^(2)) * z(A)^(2))) * cos(t)^(2)) - (((((2 * a^(2)) * b^(2)) * c) * z(A)) * cos(t)) + (c^(2) * (((b^(2) - y(A)^(2)) * a^(2)) - (b^(2) * x(A)^(2)))))))
xstar_1(t) = (a^(2) / (((c^(2) * x(A)) * ((a^(2) * y(A)^(2)) + (b^(2) * x(A)^(2))))) * ((((b^(2) * c) * x(A)^(2)) * (c - (z(A) * cos(t)))) - (y(A) * δ(t))))
ystar_1(t) = (b^(2) / ((c^(2) * ((a^(2) * y(A)^(2)) + (b^(2) * x(A)^(2))))) * ((((a^(2) * c) * y(A)) * (c - (z(A) * cos(t)))) + δ(t)))
xstar_2(t) = (a^(2) / (((c^(2) * x(A)) * ((a^(2) * y(A)^(2)) + (b^(2) * x(A)^(2))))) * ((((b^(2) * c) * x(A)^(2)) * (c - (z(A) * cos(t)))) + (y(A) * δ(t))))
ystar_2(t) = (b^(2) / ((c^(2) * ((a^(2) * y(A)^(2)) + (b^(2) * x(A)^(2))))) * ((((a^(2) * c) * y(A)) * (c - (z(A) * cos(t)))) - δ(t)))
zstar(t) = (c * cos(t))
g_1 = CurveCartesian(xstar_1(t), ystar_1(t), zstar(t), t, 0, (2 * π))
P_1 = Point(g_1)
g_2 = CurveCartesian(xstar_2(t), ystar_2(t), zstar(t), t, 0, (2 * π))
P_2 = Point(g_2)
dn: ((a^(2) * c^(2)) * y(A)^(2)) + ((b^(2) * c^(2)) * x(A)^(2))
zz(t) = t
rd(t) = sqrt((((-a^(2)) * b^(2)) * c^(4)) + (((((2 * a^(2)) * b^(2)) * c^(2)) * z(A)) * zz(t)) - (((a^(2) * b^(2)) * z(A)^(2)) * zz(t)^(2)) + ((a^(2) * c^(4)) * y(A)^(2)) - (((a^(2) * c^(2)) * y(A)^(2)) * zz(t)^(2)) + ((b^(2) * c^(4)) * x(A)^(2)) - (((b^(2) * c^(2)) * x(A)^(2)) * zz(t)^(2)))
xx_1(t) = ((((a^(2) * b^(2)) * c^(2)) * x(A)) - ((((a^(2) * b^(2)) * x(A)) * z(A)) * zz(t)) - ((a^(2) * y(A)) * rd(t))) / dn
yy_1(t) = ((((a^(2) * b^(2)) * c^(2)) * y(A)) - ((((a^(2) * b^(2)) * y(A)) * z(A)) * zz(t)) + ((b^(2) * x(A)) * rd(t))) / dn
gg_1 = CurveCartesian(xx_1(t), yy_1(t), zz(t), t, (-c), c)
xx_{2}(t) = ((((a^(2) * b^(2)) * c^(2)) * x(A)) - ((((a^(2) * b^(2)) * x(A)) * z(A)) * zz(t)) + ((a^(2) * y(A)) * rd(t))) / dn
yy_{2}(t) = ((((a^(2) * b^(2)) * c^(2)) * y(A)) - ((((a^(2) * b^(2)) * y(A)) * z(A)) * zz(t)) - ((b^(2) * x(A)) * rd(t))) / dn
gg_2 = CurveCartesian(xx_{2}(t), yy_{2}(t), zz(t), t, (-c), c)