(ctrlpts)
return tuple(bbmin), tuple(bbmax)
Computes the minimum bounding box of the point set.

    The (minimum) bounding box is the smallest enclosure in which all the input points lie.

    :param ctrlpts: points
    :type ctrlpts: list, tuple
    :return: bounding box in the format [min, max]
    :rtype: tuple
Computes the minimum bounding box of the point set.
Computes the minimum bounding box of the point set .
def evaluate_bounding_box(ctrlpts):
    """ Computes the minimum bounding box of the point set.

    The (minimum) bounding box is the smallest enclosure in which all the input points lie.

    :param ctrlpts: points
    :type ctrlpts: list, tuple
    :return: bounding box in the format [min, max]
    :rtype: tuple
    """
    # Estimate dimension from the first element of the control points
    dimension = len(ctrlpts[0])

    # Evaluate bounding box
    bbmin = [float('inf') for _ in range(0, dimension)]
    bbmax = [float('-inf') for _ in range(0, dimension)]
    for cpt in ctrlpts:
        for i, arr in enumerate(zip(cpt, bbmin)):
            if arr[0] < arr[1]:
                bbmin[i] = arr[0]
        for i, arr in enumerate(zip(cpt, bbmax)):
            if arr[0] > arr[1]:
                bbmax[i] = arr[0]

    return tuple(bbmin), tuple(bbmax)
def evaluate_bounding_box ( ctrlpts ) : # Estimate dimension from the first element of the control points dimension = len ( ctrlpts [ 0 ] ) # Evaluate bounding box bbmin = [ float ( 'inf' ) for _ in range ( 0 , dimension ) ] bbmax = [ float ( '-inf' ) for _ in range ( 0 , dimension ) ] for cpt in ctrlpts : for i , arr in enumerate ( zip ( cpt , bbmin ) ) : if arr [ 0 ] < arr [ 1 ] : bbmin [ i ] = arr [ 0 ] for i , arr in enumerate ( zip ( cpt , bbmax ) ) : if arr [ 0 ] > arr [ 1 ] : bbmax [ i ] = arr [ 0 ] return tuple ( bbmin ) , tuple ( bbmax )