from sympy import *
from spb import *
var("u, v")

x = (1 + v / 2 * cos(u / 2)) * cos(u)
y = (1 + v / 2 * cos(u / 2)) * sin(u)
z = v / 2 * sin(u / 2)
plot3d_parametric_surface(
    x, y, z, (u, 0, 2*pi), (v, -1, 1),
    "v", {"colorscale": "mygbm"},
    use_cm=True, color_func=lambda u, v: u,
    wireframe=True, wf_n1=20,
    title="Möbius strip",
    colorbar_ticks_formatter=multiples_of_pi_over_2(label="π"),
    backend=PB)