This is the primary method for producing a quadrature schemes
  for use by ppm.
  
The function ppm fits a point process model to an
  observed point pattern using 
  the Berman-Turner quadrature approximation (Berman and Turner, 1992;
  Baddeley and Turner, 2000) to the pseudolikelihood of the model. 
  It requires a quadrature scheme consisting of 
  the original data point pattern, an additional pattern of dummy points,
  and a vector of quadrature weights for all these points.
  Such quadrature schemes are represented by objects of class
  "quad". See quad.object for a description of this class.
Quadrature schemes are created by the function
  quadscheme.
  The arguments data and dummy specify the data and dummy
  points, respectively. There is a sensible default for the dummy 
  points (provided by default.dummy).
  Alternatively the dummy points
  may be specified arbitrarily and given in any format recognised by
  as.ppp.
  There are also functions for creating dummy patterns
  including corners,
  gridcentres,
  stratrand and
  spokes.
 
The quadrature region is the region over which we are
  integrating, and approximating integrals by finite sums.
  If dummy is a point pattern object (class "ppp")
  then the quadrature region is taken to be Window(dummy).
  If dummy is just a list of \(x, y\) coordinates
  then the quadrature region defaults to the observation window
  of the data pattern, Window(data).
If dummy is missing, then a pattern of dummy points
  will be generated using default.dummy, taking account
  of the optional arguments ....
  By default, the dummy points are arranged in a
  rectangular grid; recognised arguments
  include nd (the number of grid points
  in the horizontal and vertical directions)
  and eps (the spacing between dummy points).
  If random=TRUE, a systematic random pattern
  of dummy points is generated instead.
  See default.dummy for details.
  
If method = "grid" then the optional arguments (for …) are 
  (nd, ntile, eps).
  The quadrature region (defined above) is divided into
  an ntile[1] by ntile[2] grid of rectangular tiles.
  The weight for each
  quadrature point is the area of a tile divided by the number of
  quadrature points in that tile.
 
If method="dirichlet" then the optional arguments are
  (exact=TRUE, nd, eps).
  The quadrature points (both data and dummy) are used to construct the
  Dirichlet tessellation. The quadrature weight of each point is the
  area of its Dirichlet tile inside the quadrature region.
  If exact == TRUE then this area is computed exactly
  using the package deldir; otherwise it is computed
  approximately by discretisation.