An object of class "PCDs"
.
Returns arcs as tails (or sources) and heads (or arrow ends) of Proportional Edge Proximity Catch Digraph
(PE-PCD) whose vertices are the data points in Xp
in the multiple triangle case.
PE proximity regions are
defined with respect to the Delaunay triangles based on Yp
points with expansion parameter M
will be the same
type of center for each Delaunay triangle (this conversion is not necessary when M
is
Convex hull of Yp
is partitioned by the Delaunay triangles based on Yp
points
(i.e., multiple triangles are the set of these Delaunay triangles whose union constitutes the
convex hull of Yp
points). For the number of arcs, loops are not allowed so arcs are only possible
for points inside the convex hull of Yp
points.
See (ceyhan:Phd-thesis,ceyhan:arc-density-PE,ceyhan:dom-num-NPE-Spat2011;textualpcds) for more on the PE-PCDs. Also see (okabe:2000,ceyhan:comp-geo-2010,sinclair:2016;textualpcds) for more on Delaunay triangulation and the corresponding algorithm.
ArcsPEMT(Xp, Yp, r, M = c(1, 1, 1))
A set of 2D points which constitute the vertices of the PE-PCD.
A set of 2D points which constitute the vertices of the Delaunay triangles.
A positive real number which serves as the expansion parameter in PE proximity region;
must be
A 3D point in barycentric coordinates which serves as a center in the interior of each Delaunay
triangle or circumcenter of each Delaunay triangle (for this argument should be set as M="CC"
),
default for
A list
with the elements
A description of the type of the digraph
Parameters of the digraph, here, it is the center used to construct the vertex regions.
Points on which the tessellation of the study region is performed, here, tessellation
is Delaunay triangulation based on Yp
points.
Name of data set used in tessellation, it is Yp
for this function
Vertices of the digraph, Xp
points
Name of the data set which constitute the vertices of the digraph
Tails (or sources) of the arcs of PE-PCD for 2D data set Xp
as vertices of the digraph
Heads (or arrow ends) of the arcs of PE-PCD for 2D data set Xp
as vertices of the digraph
Text for "main"
title in the plot of the digraph
Various quantities for the digraph: number of vertices, number of partition points, number of intervals, number of arcs, and arc density.
# NOT RUN {
#nx is number of X points (target) and ny is number of Y points (nontarget)
nx<-20; ny<-4; #try also nx<-40; ny<-10 or nx<-1000; ny<-10;
set.seed(1)
Xp<-cbind(runif(nx,0,1),runif(nx,0,1))
Yp<-cbind(runif(ny,0,1),runif(ny,0,1))
M<-c(1,1,1) #try also M<-c(1,2,3)
r<-1.5 #try also r<-2
ArcsPEMT(Xp,Yp,r,M)
Arcs<-ArcsPEMT(Xp,Yp,r,M)
Arcs
summary(Arcs)
plot(Arcs)
S<-Arcs$S
E<-Arcs$E
DT<-interp::tri.mesh(Yp[,1],Yp[,2],duplicate="remove")
Xlim<-range(Xp[,1],Yp[,1])
Ylim<-range(Xp[,2],Yp[,2])
xd<-Xlim[2]-Xlim[1]
yd<-Ylim[2]-Ylim[1]
plot(Xp,main=" ", xlab=" ", ylab=" ",
xlim=Xlim+xd*c(-.05,.05),ylim=Ylim+yd*c(-.05,.05),pch=".",cex=3)
interp::plot.triSht(DT, add=TRUE, do.points = TRUE)
arrows(S[,1], S[,2], E[,1], E[,2], length = 0.1, col= 4)
ArcsPEMT(Xp,Yp,r)
ArcsPEMT(Xp,Yp[1:3,],r)
ArcsPEMT(Xp,rbind(Yp,Yp),r)
dat.fr<-data.frame(a=Xp)
ArcsPEMT(dat.fr,Yp,r)
dat.fr<-data.frame(a=Yp)
ArcsPEMT(Xp,dat.fr,r)
# }
Run the code above in your browser using DataLab