rassoc.multi.tri | R Documentation |
An object of class "Patterns"
.
Generates n
points uniformly in the support
for Type I association in the convex hull of set of points, Yp
.
delta
is the parameter of association
(that is, only \delta 100
% area around each vertex in each Delaunay
triangle is allowed for point generation).
delta
corresponds to eps
in the standard equilateral triangle
T_e
as delta=4eps^2/3
(see rseg.std.tri
function).
If Yp
consists only of 3 points,
then the function behaves like the
function rassoc.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 association pattern. Also, see (\insertCiteokabe:2000,ceyhan:comp-geo-2010,sinclair:2016;textualpcds) for more on Delaunay triangulation and the corresponding algorithm.
rassoc.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 |
Attraction parameter, |
ref.points |
The input set of points |
gen.points |
The output set of generated points
associated with |
tri.Y |
Logical output,
|
desc.pat |
Description of the point pattern |
num.points |
The |
xlimit , ylimit |
The ranges of the |
Elvan Ceyhan
rassoc.circular
, rassoc.std.tri
,
rassocII.std.tri
, and rseg.multi.tri
#nx is number of X points (target) and ny is number of Y points (nontarget)
nx<-100; ny<-4; #try also nx<-40; ny<-10 or nx<-1000; ny<-10;
set.seed(1)
Yp<-cbind(runif(ny),runif(ny))
del<-.4
Xdt<-rassoc.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<-rassoc.multi.tri(nx,Yp,del,DTY,TRY)$g
#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
plot(Xp,main="Points from Type I Association \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)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.