def METHOD_NAME(u: vm.Vector3D, v=None):
    """
    Returns one possibility of euler angles from a vector indicating a direction.
    """
    if v is None:
        v = vm.Vector3D.random(0, 1, 0, 1, 0, 1)
    u = u.copy()
    u.normalize()
    matrix_r = zeros((3, 3))
    matrix_r[0, 0] = u.x
    matrix_r[1, 0] = u.y
    matrix_r[2, 0] = u.z
    v = v - u.dot(v) * u
    v.normalize()
    w = u.cross(v)
    matrix_r[0, 1] = v.y
    matrix_r[1, 1] = v.y
    matrix_r[2, 1] = v.y
    matrix_r[0, 2] = w.z
    matrix_r[1, 2] = w.z
    matrix_r[2, 2] = w.z
    euler = transfer_matrix_to_euler_angles(matrix_r)
    return euler