Simulate Simple Sequential Inhibition
Generate a random point pattern, a realisation of the Simple Sequential Inhibition (SSI) process.
rSSI(r, n=Inf, win = square(1), giveup = 1000, x.init=NULL, ..., f=NULL, fmax=NULL, nsim=1, drop=TRUE)
r |
Inhibition distance. |
n |
Maximum number of points allowed.
If |
win |
Window in which to simulate the pattern.
An object of class |
giveup |
Number of rejected proposals after which the algorithm should terminate. |
x.init |
Optional. Initial configuration of points. A point pattern
(object of class |
... |
Ignored. |
f,fmax |
Optional arguments passed to |
nsim |
Number of simulated realisations to be generated. |
drop |
Logical. If |
This algorithm generates one or more realisations of the Simple Sequential
Inhibition point process inside the window win
.
Starting with an empty window (or with the point pattern
x.init
if specified), the algorithm adds points
one-by-one. Each new point is generated uniformly in the window
and independently of preceding points. If the new point lies
closer than r
units from an existing point, then it is
rejected and another random point is generated.
The algorithm terminates when either
the desired number n
of points is reached, or
the current point configuration
has not changed for giveup
iterations,
suggesting that it is no longer possible to add new points.
If n
is infinite (the default) then the algorithm terminates
only when (b) occurs. The result is sometimes called a
Random Sequential Packing.
Note that argument n
specifies the maximum permitted
total number of points in the pattern returned by
rSSI()
. If x.init
is not NULL
then
the number of points that are added
is at most n - npoints(x.init)
if n
is finite.
Thus if x.init
is not NULL
then argument n
must be at least as large as npoints(x.init)
, otherwise
an error is given. If n==npoints(x.init)
then a warning
is given and the call to rSSI()
has no real effect;
x.init
is returned.
There is no requirement that the points of x.init
be at
a distance at least r
from each other. All of the added
points will be at a distance at least r
from each other
and from any point of x.init
.
The points will be generated inside the window win
and the result will be a point pattern in the same window.
The default window is the unit square, win = square(1)
,
unless x.init
is specified, when the default
is win=Window(x.init)
, the window of x.init
.
If both win
and x.init
are specified, and if the
two windows are different, then a warning will be issued.
Any points of x.init
lying outside win
will be removed,
with a warning.
A point pattern (an object of class "ppp"
)
if nsim=1
, or a list of point patterns if nsim > 1
.
Adrian Baddeley Adrian.Baddeley@curtin.edu.au, Rolf Turner r.turner@auckland.ac.nz and Ege Rubak rubak@math.aau.dk.
Vinf <- rSSI(0.07) V100 <- rSSI(0.07, 100) X <- runifpoint(100) Y <- rSSI(0.03,142,x.init=X) # Y consists of X together with # 42 added points. plot(Y, main="rSSI") plot(X,add=TRUE,chars=20,cols="red") ## inhomogeneous Z <- rSSI(0.07, 50, f=function(x,y){x}) plot(Z)
Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.