(obj, params, **kwargs)
Evaluates the tangent vector of the curves or surfaces at the input parameter values.

    This function is designed to evaluate tangent vectors of the B-Spline and NURBS shapes at single or
    multiple parameter positions.

    :param obj: input shape
    :type obj: abstract.Curve or abstract.Surface
    :param params: parameters
    :type params: float, list or tuple
    :return: a list containing "point" and "vector" pairs
    :rtype: tuple
Evaluates the tangent vector of the curves or surfaces at the input parameter values.
Evaluates the tangent vector of the curves or surfaces at the input parameter values .
def tangent(obj, params, **kwargs):
    """ Evaluates the tangent vector of the curves or surfaces at the input parameter values.

    This function is designed to evaluate tangent vectors of the B-Spline and NURBS shapes at single or
    multiple parameter positions.

    :param obj: input shape
    :type obj: abstract.Curve or abstract.Surface
    :param params: parameters
    :type params: float, list or tuple
    :return: a list containing "point" and "vector" pairs
    :rtype: tuple
    """
    normalize = kwargs.get('normalize', True)
    if isinstance(obj, abstract.Curve):
        if isinstance(params, (list, tuple)):
            return ops.tangent_curve_single_list(obj, params, normalize)
        else:
            return ops.tangent_curve_single(obj, params, normalize)
    if isinstance(obj, abstract.Surface):
        if isinstance(params[0], float):
            return ops.tangent_surface_single(obj, params, normalize)
        else:
            return ops.tangent_surface_single_list(obj, params, normalize)
def tangent ( obj , params , * * kwargs ) : normalize = kwargs . get ( 'normalize' , True ) if isinstance ( obj , abstract . Curve ) : if isinstance ( params , ( list , tuple ) ) : return ops . tangent_curve_single_list ( obj , params , normalize ) else : return ops . tangent_curve_single ( obj , params , normalize ) if isinstance ( obj , abstract . Surface ) : if isinstance ( params [ 0 ] , float ) : return ops . tangent_surface_single ( obj , params , normalize ) else : return ops . tangent_surface_single_list ( obj , params , normalize )