import math


def sinusoidal_fn(
    x_pos: float,
    amplitude: float = 1.0,
    period_mod: float = 1.0,
    horiz_shift: float = 0.0,
    vert_shift: float = 0.0,
) -> float:
    """Feed x coords receive y coords that make pretty nerd picture.
    Give more numbers for different pretty nerd picture.
    https://en.wikipedia.org/wiki/Periodic_function
    y = A*sin(Bx+C)+D
    A: amplitude
    B: period mod (wave period is (2pi)/B)
    C: horiz shift
    D: vert shift
    """
    """
    30 = 2p/B
    30B = 2p
    2p/30
    """
    return amplitude * math.sin(period_mod * x_pos + horiz_shift) + vert_shift