(*args, **kwargs)
return plots
Plots a 3D parametric surface plot.

    Usage
    =====

    Single plot.

    ``plot3d_parametric_surface(expr_x, expr_y, expr_z, range_u, range_v, **kwargs)``

    If the ranges is not specified, then a default range of (-10, 10) is used.

    Multiple plots.

    ``plot3d_parametric_surface((expr_x, expr_y, expr_z, range_u, range_v), ..., **kwargs)``

    Ranges have to be specified for every expression.

    Default range may change in the future if a more advanced default range
    detection algorithm is implemented.

    Arguments
    =========

    ``expr_x``: Expression representing the function along ``x``.

    ``expr_y``: Expression representing the function along ``y``.

    ``expr_z``: Expression representing the function along ``z``.

    ``range_u``: ``(u, 0, 5)``,  A 3-tuple denoting the range of the ``u``
    variable.

    ``range_v``: ``(v, 0, 5)``,  A 3-tuple denoting the range of the v
    variable.

    Keyword Arguments
    =================

    Arguments for ``ParametricSurfaceSeries`` class:

    ``nb_of_points_u``: int. The ``u`` range is sampled uniformly at
    ``nb_of_points_v`` of points

    ``nb_of_points_y``: int. The ``v`` range is sampled uniformly at
    ``nb_of_points_y`` of points

    Aesthetics:

    ``surface_color``: Function which returns a float. Specifies the color for
    the surface of the plot. See ``sympy.plotting.Plot`` for more details.

    If there are multiple plots, then the same series arguments are applied for
    all the plots. If you want to set these options separately, you can index
    the returned ``Plot`` object and set it.


    Arguments for ``Plot`` class:

    ``title`` : str. Title of the plot.

    Examples
    ========

    >>> from sympy import symbols, cos, sin
    >>> from sympy.plotting import plot3d_parametric_surface
    >>> u, v = symbols('u v')

    Single plot.

    >>> plot3d_parametric_surface(cos(u + v), sin(u - v), u - v,
    ...     (u, -5, 5), (v, -5, 5))
    Plot object containing:
    [0]: parametric cartesian surface: (cos(u + v), sin(u - v), u - v) for u over (-5.0, 5.0) and v over (-5.0, 5.0)


    See Also
    ========
    Plot, ParametricSurfaceSeries
Plots a 3D parametric surface plot.
Plots a 3D parametric surface plot .
def plot3d_parametric_surface(*args, **kwargs):
    """
    Plots a 3D parametric surface plot.

    Usage
    =====

    Single plot.

    ``plot3d_parametric_surface(expr_x, expr_y, expr_z, range_u, range_v, **kwargs)``

    If the ranges is not specified, then a default range of (-10, 10) is used.

    Multiple plots.

    ``plot3d_parametric_surface((expr_x, expr_y, expr_z, range_u, range_v), ..., **kwargs)``

    Ranges have to be specified for every expression.

    Default range may change in the future if a more advanced default range
    detection algorithm is implemented.

    Arguments
    =========

    ``expr_x``: Expression representing the function along ``x``.

    ``expr_y``: Expression representing the function along ``y``.

    ``expr_z``: Expression representing the function along ``z``.

    ``range_u``: ``(u, 0, 5)``,  A 3-tuple denoting the range of the ``u``
    variable.

    ``range_v``: ``(v, 0, 5)``,  A 3-tuple denoting the range of the v
    variable.

    Keyword Arguments
    =================

    Arguments for ``ParametricSurfaceSeries`` class:

    ``nb_of_points_u``: int. The ``u`` range is sampled uniformly at
    ``nb_of_points_v`` of points

    ``nb_of_points_y``: int. The ``v`` range is sampled uniformly at
    ``nb_of_points_y`` of points

    Aesthetics:

    ``surface_color``: Function which returns a float. Specifies the color for
    the surface of the plot. See ``sympy.plotting.Plot`` for more details.

    If there are multiple plots, then the same series arguments are applied for
    all the plots. If you want to set these options separately, you can index
    the returned ``Plot`` object and set it.


    Arguments for ``Plot`` class:

    ``title`` : str. Title of the plot.

    Examples
    ========

    >>> from sympy import symbols, cos, sin
    >>> from sympy.plotting import plot3d_parametric_surface
    >>> u, v = symbols('u v')

    Single plot.

    >>> plot3d_parametric_surface(cos(u + v), sin(u - v), u - v,
    ...     (u, -5, 5), (v, -5, 5))
    Plot object containing:
    [0]: parametric cartesian surface: (cos(u + v), sin(u - v), u - v) for u over (-5.0, 5.0) and v over (-5.0, 5.0)


    See Also
    ========
    Plot, ParametricSurfaceSeries

    """

    args = list(map(sympify, args))
    show = kwargs.pop('show', True)
    series = []
    plot_expr = check_arguments(args, 3, 2)
    series = [ParametricSurfaceSeries(*arg, **kwargs) for arg in plot_expr]
    plots = Plot(*series, **kwargs)
    if show:
        plots.show()
    return plots
def plot3d_parametric_surface ( * args , * * kwargs ) : args = list ( map ( sympify , args ) ) show = kwargs . pop ( 'show' , True ) series = [ ] plot_expr = check_arguments ( args , 3 , 2 ) series = [ ParametricSurfaceSeries ( * arg , * * kwargs ) for arg in plot_expr ] plots = Plot ( * series , * * kwargs ) if show : plots . show ( ) return plots