code: def ParametricRandomHills(
      numberofhills=None,
      hillxvariance=None,
      hillyvariance=None,
      hillamplitude=None,
      randomseed=None,
      xvariancescalefactor=None,
      yvariancescalefactor=None,
      amplitudescalefactor=None,
      number_of_hills=None,
      hill_x_variance=None,
      hill_y_variance=None,
      hill_amplitude=None,
      random_seed=None,
      x_variance_scale_factor=None,
      y_variance_scale_factor=None,
      amplitude_scale_factor=None,
      **kwargs,
  ):
      """Generate a surface covered with randomly placed hills.
  
      ParametricRandomHills generates a surface covered with randomly
      placed hills. Hills will vary in shape and height since the
      presence of nearby hills will contribute to the shape and height
      of a given hill.  An option is provided for placing hills on a
      regular grid on the surface.  In this case the hills will all have
      the same shape and height.
  
      Parameters
      ----------
      numberofhills : int, default: 30
          The number of hills.
  
          .. versionchanged:: 0.43.0
              The ``numberofhills`` parameter has been renamed to ``number_of_hills``.
  
      hillxvariance : float, default: 2.5
          The hill variance in the x-direction.
  
          .. versionchanged:: 0.43.0
              The ``hillxvariance`` parameter has been renamed to ``hill_x_variance``.
  
      hillyvariance : float, default: 2.5
          The hill variance in the y-direction.
  
          .. versionchanged:: 0.43.0
              The ``hillyvariance`` parameter has been renamed to ``hill_y_variance``.
  
      hillamplitude : float, default: 2
          The hill amplitude (height).
  
          .. versionchanged:: 0.43.0
              The ``hillamplitude`` parameter has been renamed to ``hill_amplitude``.
  
      randomseed : int, default: 1
          The Seed for the random number generator,
          a value of 1 will initialize the random number generator,
          a negative value will initialize it with the system time.
  
          .. versionchanged:: 0.43.0
              The ``randomseed`` parameter has been renamed to ``random_seed``.
  
      xvariancescalefactor : float, default: 13
          The scaling factor for the variance in the x-direction.
  
          .. versionchanged:: 0.43.0
              The ``xvariancescalefactor`` parameter has been renamed to ``x_variance_scale_factor``.
  
      yvariancescalefactor : float, default: 13
          The scaling factor for the variance in the y-direction.
  
          .. versionchanged:: 0.43.0
              The ``yvariancescalefactor`` parameter has been renamed to ``y_variance_scale_factor``.
  
      amplitudescalefactor : float, default: 13
          The scaling factor for the amplitude.
  
          .. versionchanged:: 0.43.0
              The ``amplitudescalefactor`` parameter has been renamed to ``amplitude_scale_factor``.
  
      number_of_hills : int, default: 30
          The number of hills.
  
      hill_x_variance : float, default: 2.5
          The hill variance in the x-direction.
  
      hill_y_variance : float, default: 2.5
          The hill variance in the y-direction.
  
      hill_amplitude : float, default: 2
          The hill amplitude (height).
  
      random_seed : int, default: 1
          The Seed for the random number generator,
          a value of 1 will initialize the random number generator,
          a negative value will initialize it with the system time.
  
      x_variance_scale_factor : float, default: 13
          The scaling factor for the variance in the x-direction.
  
      y_variance_scale_factor : float, default: 13
          The scaling factor for the variance in the y-direction.
  
      amplitude_scale_factor : float, default: 13
          The scaling factor for the amplitude.
  
      **kwargs : dict, optional
          See :func:`surface_from_para` for additional keyword arguments.
  
      Returns
      -------
      pyvista.PolyData
          ParametricRandomHills surface.
  
      Examples
      --------
      Create a ParametricRandomHills mesh.
  
      >>> import pyvista as pv
      >>> mesh = pv.ParametricRandomHills()
      >>> mesh.plot(color='w', smooth_shading=True)
  
      """
      parametric_function = _vtk.vtkParametricRandomHills()
      if numberofhills is not None:
          parametric_function.SetNumberOfHills(numberofhills)
          # Deprecated on v0.43.0, estimated removal on v0.46.0
          warnings.warn(
              "`numberofhills` argument is deprecated. Please use `number_of_hills`.",
              PyVistaDeprecationWarning,
          )
      elif number_of_hills is not None:
          parametric_function.SetNumberOfHills(number_of_hills)
  
      if hillxvariance is not None:
          parametric_function.SetHillXVariance(hillxvariance)
          # Deprecated on v0.43.0, estimated removal on v0.46.0
          warnings.warn(
              "`hillxvariance` argument is deprecated. Please use `hill_x_variance`.",
              PyVistaDeprecationWarning,
          )
      elif hill_x_variance is not None:
          parametric_function.SetHillXVariance(hill_x_variance)
  
      if hillyvariance is not None:
          parametric_function.SetHillYVariance(hillyvariance)
          # Deprecated on v0.43.0, estimated removal on v0.46.0
          warnings.warn(
              "`hillyvariance` argument is deprecated. Please use `hill_y_variance`.",
              PyVistaDeprecationWarning,
          )
      elif hill_y_variance is not None:
          parametric_function.SetHillYVariance(hill_y_variance)
  
      if hillamplitude is not None:
          parametric_function.SetHillAmplitude(hillamplitude)
          # Deprecated on v0.43.0, estimated removal on v0.46.0
          warnings.warn(
              "`hillvariance` argument is deprecated. Please use `hill_variance`.",
              PyVistaDeprecationWarning,
          )
      elif hill_amplitude is not None:
          parametric_function.SetHillAmplitude(hill_amplitude)
  
      if randomseed is not None:
          parametric_function.SetRandomSeed(randomseed)
          # Deprecated on v0.43.0, estimated removal on v0.46.0
          warnings.warn(
              "`randomseed` argument is deprecated. Please use `random_seed`.",
              PyVistaDeprecationWarning,
          )
      elif random_seed is not None:
          parametric_function.SetRandomSeed(random_seed)
  
      if xvariancescalefactor is not None:
          parametric_function.SetXVarianceScaleFactor(
              xvariancescalefactor
          )
          # Deprecated on v0.43.0, estimated removal on v0.46.0
          warnings.warn(
              "`xvariancescalefactor` argument is deprecated. Please use `x_variance_scale_factor`.",
              PyVistaDeprecationWarning,
          )
      elif x_variance_scale_factor is not None:
          parametric_function.SetXVarianceScaleFactor(
              x_variance_scale_factor
          )
  
      if yvariancescalefactor is not None:
          parametric_function.SetYVarianceScaleFactor(
              yvariancescalefactor
          )
          # Deprecated on v0.43.0, estimated removal on v0.46.0
          warnings.warn(
              "`yvariancescalefactor` argument is deprecated. Please use `y_variance_scale_factor`.",
              PyVistaDeprecationWarning,
          )
      elif y_variance_scale_factor is not None:
          parametric_function.SetYVarianceScaleFactor(
              y_variance_scale_factor
          )
  
      if amplitudescalefactor is not None:
          parametric_function.SetAmplitudeScaleFactor(
              amplitudescalefactor
          )
          # Deprecated on v0.43.0, estimated removal on v0.46.0
          warnings.warn(
              "`amplitudescalefactor` argument is deprecated. Please use `amplitude_scale_factor`.",
              PyVistaDeprecationWarning,
          )
      elif amplitude_scale_factor is not None:
          parametric_function.SetAmplitudeScaleFactor(
              amplitude_scale_factor
          )
  
      center = kwargs.pop("center", [0.0, 0.0, 0.0])
      direction = kwargs.pop("direction", [1.0, 0.0, 0.0])
      surf = surface_from_para(parametric_function, **kwargs)
  
      translate(surf, center, direction)
  
      return surf
  
imports: from math import pi
  import warnings
  import numpy
  import pyvista
  from pyvista.core import _vtk_core
  from pyvista.core.errors import PyVistaDeprecationWarning
  from .geometric_objects import translate
  from .helpers import wrap
  from .misc import check_valid_vector
label_desc: Use image node_id 19 for calling a global function with example usage: ParametricRandomHills(numberofhills, hillxvariance, hillyvariance, hillamplitude, randomseed, xvariancescalefactor, yvariancescalefactor, amplitudescalefactor, number_of_hills, hill_x_variance, hill_y_variance, hill_amplitude, random_seed, x_variance_scale_factor, y_variance_scale_factor, amplitude_scale_factor) and returns: surf