from sympy import *
from spb import *
import k3d
a, b, s, e, t = symbols("a, b, s, e, t")
c = 2 * sqrt(a * b)
r = a + b
params = {
    a: (1.5, 0, 2),
    b: (1, 0, 2),
    s: (0, 0, 2),
    e: (2, 0, 2)
}
sphere = plot3d_revolution(
    (r * cos(t), r * sin(t)), (t, 0, pi),
    params=params, n=50, parallel_axis="x",
    backend=KB,
    show_curve=False, show=False,
    rendering_kw={"color":0x353535})
line = plot3d_parametric_line(
    a * cos(t) + b * cos(3 * t),
    a * sin(t) - b * sin(3 * t),
    c * sin(2 * t), prange(t, s*pi, e*pi),
    {"color_map": k3d.matplotlib_color_maps.Summer}, params=params,
    backend=KB, show=False)
(line + sphere).show()