from sympy import *
from spb import *
x, a, b, c, n = symbols("x, a, b, c, n")
params = {
    a: (1, 0, 10),     # frequency
    b: (0, 0, 2 * pi), # phase
    c: (0.25, 0, 1),   # damping
    n: (2, 0, 4)       # multiple of pi
}
graphics(
    line(cos(a * x + b) * exp(-c * x), prange(x, 0, n * pi),
        label="oscillator", params=params),
    line(exp(-c * x), prange(x, 0, n * pi), label="upper limit",
        rendering_kw={"linestyle": ":"}, params=params),
    line(-exp(-c * x), prange(x, 0, n * pi), label="lower limit",
        rendering_kw={"linestyle": ":"}, params=params),
    ylim=(-1.25, 1.25),
    title=("Frequency = {:.2f} Hz", a)
)