<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def rotate_and_traslate(cur, alpha, v0):

 r"""Rotate and translate a curve."""

    if len(cur) > 2 or (type(cur[0][0]) in [list, tuple]):
        cur_list = cur[:]
        for i in range(len(cur_list)):
            curi = cur_list[i]
            curi = rotate_and_traslate(curi, alpha, v0)
            cur_list[i] = curi
        return cur_list
    else:
        x0, y0 = cur
        rot = np.matrix([[cos(alpha), -sin(alpha)], [sin(alpha), cos(alpha)]])
        xn = []; yn = []
        for i in range(len(x0)):
            v = np.matrix([[x0[i]], [y0[i]]])

            vi = np.dot(rot, v)
            xn += [float(vi[0][0])+v0[0]]; yn += [float(vi[1][0])+v0[1]]

        return xn, yn