from sympy import *
from spb import *
import k3d
alpha, u, v, up, vp = symbols("alpha u v u_p v_p")
plot3d_parametric_surface((
        exp(u) * cos(v - alpha) / 2 + exp(-u) * cos(v + alpha) / 2,
        exp(u) * sin(v - alpha) / 2 + exp(-u) * sin(v + alpha) / 2,
        cos(alpha) * u + sin(alpha) * v
    ),
    prange(u, -up, up), prange(v, 0, vp * pi),
    backend=KB,
    use_cm=True,
    color_func=lambda u, v: v,
    rendering_kw={"color_map": k3d.colormaps.paraview_color_maps.Hue_L60},
    wireframe=True, wf_n2=15, wf_rendering_kw={"width": 0.005},
    grid=False, n=50,
    params={
        alpha: (0, 0, pi),
        up: (1, 0, 2),
        vp: (2, 0, 2),
    },
    title=r"Catenoid \, to \, Right \, Helicoid \, Transformation")