| rseg.multi.tri | R Documentation |
An object of class "Patterns".
Generates n points uniformly in the support
for Type I segregation in the convex hull of
set of points, Yp.
delta is the parameter of segregation
(that is, \delta 100 % of the area around each vertex
in each Delaunay
triangle is forbidden for point generation).
delta corresponds to eps
in the standard equilateral triangle
T_e as delta=4 eps ^2/3 (see rseg.std.tri function).
If Yp consists only of 3 points,
then the function behaves like the
function rseg.tri.
DTmesh must be the Delaunay triangulation of Yp
and DTr must be the corresponding Delaunay triangles
(both DTmesh and DTr are NULL by default).
If NULL, DTmesh is computed
via tri.mesh
and DTr is computed via triangles
function in interp package.
tri.mesh function yields the triangulation nodes
with their neighbours,
and creates a triangulation object,
and triangles function
yields a triangulation data structure
from the triangulation object created
by tri.mesh (the first three columns are
the vertex indices of the Delaunay triangles.)
See (\insertCiteceyhan:arc-density-PE,ceyhan:arc-density-CS,ceyhan:dom-num-NPE-Spat2011;textualpcds) for more on the segregation pattern. Also, see (\insertCiteokabe:2000,ceyhan:comp-geo-2010,sinclair:2016;textualpcds) for more on Delaunay triangulation and the corresponding algorithm.
rseg.multi.tri(n, Yp, delta, DTmesh = NULL, DTr = NULL)
n |
A positive integer representing the number of points to be generated. |
Yp |
A set of 2D points from which Delaunay triangulation is constructed. |
delta |
A positive real number in |
DTmesh |
Delaunay triangulation of |
DTr |
Delaunay triangles based on |
A list with the elements
type |
The type of the pattern from which points are to be generated |
mtitle |
The |
parameters |
Exclusion parameter, |
ref.points |
The input set of points |
gen.points |
The output set of generated points segregated
from |
tri.Y |
Logical output, |
desc.pat |
Description of the point pattern |
num.points |
The |
xlimit, ylimit |
The ranges of the |
Elvan Ceyhan
rseg.circular, rseg.std.tri,
rsegII.std.tri, and rassoc.multi.tri
#nx is number of X points (target) and ny is number of Y points (nontarget)
nx<-100; ny<-4; #try also nx<-1000; ny<-10;
set.seed(1)
Yp<-cbind(runif(ny),runif(ny))
del<-.4
Xdt<-rseg.multi.tri(nx,Yp,del)
Xdt
summary(Xdt)
plot(Xdt)
#or use
DTY<-interp::tri.mesh(Yp[,1],Yp[,2],duplicate="remove")
#Delaunay triangulation based on Y points
TRY<-interp::triangles(DTY)[,1:3];
Xp<-rseg.multi.tri(nx,Yp,del,DTY,TRY)$gen.points
#data under CSR in the convex hull of Ypoints
Xlim<-range(Yp[,1])
Ylim<-range(Yp[,2])
xd<-Xlim[2]-Xlim[1]
yd<-Ylim[2]-Ylim[1]
#plot of the data in the convex hull of Y points together with the Delaunay triangulation
DTY<-interp::tri.mesh(Yp[,1],Yp[,2],duplicate="remove")
#Delaunay triangulation based on Y points
oldpar <- par(pty="s")
plot(Xp,main="Points from Type I Segregation \n in Multipe Triangles",
xlab=" ", ylab=" ",xlim=Xlim+xd*c(-.05,.05),
ylim=Ylim+yd*c(-.05,.05),type="n")
interp::plot.triSht(DTY, add=TRUE,
do.points=TRUE,col="blue")
points(Xp,pch=".",cex=3)
par(oldpar)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.