edgesPEtri {pcds.ugraph} | R Documentation |
The edges of the underlying or reflexivity graph of the Proportional Edge Proximity Catch Digraph (PE-PCD) for 2D data - one triangle case
Description
An object of class "UndPCDs"
.
Returns edges of the underlying or reflexivity graph of PE-PCD
as left and right end points
and related parameters and the quantities of these graphs.
The vertices of these graphs are the data points in Xp
in the multiple triangle case.
PE proximity regions are constructed
with respect to the triangle tri
with expansion
parameter r \ge 1
, i.e.,
edges may exist only for points inside tri
.
It also provides various descriptions
and quantities about the edges of
the underlying or reflexivity graph of the PE-PCD
such as number of edges, edge density, etc.
Vertex regions are based on center M=(m_1,m_2)
in Cartesian coordinates or M=(\alpha,\beta,\gamma)
in barycentric coordinates in the interior of
the triangle tri
or based on the circumcenter of tri
;
default is M=(1,1,1)
, i.e., the center of mass of tri
.
When the center is the circumcenter, CC
,
the vertex regions are constructed based on the
orthogonal projections to the edges,
while with any interior center M
,
the vertex regions are constructed using the extensions
of the lines combining vertices with M
.
The different consideration of circumcenter vs
any other interior center of the triangle is because
the projections from circumcenter are orthogonal to the edges,
while projections of M
on the edges are on the extensions
of the lines connecting M
and the vertices.
M
-vertex regions are recommended spatial inference,
due to geometry invariance property of the edge density
and domination number the PE-PCDs based on uniform data.
See also (Ceyhan (2005, 2016)).
Usage
edgesPEtri(Xp, tri, r, M = c(1, 1, 1), ugraph = c("underlying", "reflexivity"))
Arguments
Xp |
A set of 2D points which constitute the vertices of the underlying or reflexivity graph of the PE-PCD. |
tri |
A |
r |
A positive real number
which serves as the expansion parameter in PE proximity region;
must be |
M |
A 2D point in Cartesian coordinates
or a 3D point in barycentric coordinates
which serves as a center in the interior of the triangle |
ugraph |
The type of the graph based on PE-PCDs,
|
Value
A list
with the elements
type |
A description of the underlying or reflexivity graph of the digraph |
parameters |
Parameters of the underlying
or reflexivity graph of the digraph,
the center |
tess.points |
Tessellation points, i.e., points on which the tessellation of the study region is performed, here, tessellation is the support triangle. |
tess.name |
Name of the tessellation points |
vertices |
Vertices of the underlying
or reflexivity graph of the digraph, |
vert.name |
Name of the data set which constitutes the vertices of the underlying or reflexivity graph of the digraph |
LE , RE |
Left and right end points of the edges of
the underlying or reflexivity graph of PE-PCD for 2D data set |
mtitle |
Text for |
quant |
Various quantities for the underlying or reflexivity graph of the digraph: number of vertices, number of partition points, number of intervals, number of edges, and edge density. |
Author(s)
Elvan Ceyhan
References
Ceyhan E (2005).
An Investigation of Proximity Catch Digraphs in Delaunay Tessellations, also available as technical monograph titled Proximity Catch Digraphs: Auxiliary Tools, Properties, and Applications.
Ph.D. thesis, The Johns Hopkins University, Baltimore, MD, 21218.
Ceyhan E (2016).
“Edge Density of New Graph Types Based on a Random Digraph Family.”
Statistical Methodology, 33, 31-54.
See Also
edgesPE
, edgesAStri
, edgesCStri
,
and arcsPEtri
Examples
#\donttest{
A<-c(1,1); B<-c(2,0); C<-c(1.5,2);
Tr<-rbind(A,B,C);
n<-10
set.seed(1)
Xp<-pcds::runif.tri(n,Tr)$g
M<-as.numeric(pcds::runif.tri(1,Tr)$g)
r<-1.5
#for underlying graph
Edges<-edgesPEtri(Xp,Tr,r,M)
Edges
summary(Edges)
plot(Edges)
#for reflexivity graph
Edges<-edgesPEtri(Xp,Tr,r,M,ugraph="r")
Edges
summary(Edges)
plot(Edges)
#can add vertex regions
#but we first need to determine center is the circumcenter or not,
#see the description for more detail.
CC<-pcds::circumcenter.tri(Tr)
if (isTRUE(all.equal(M,CC)))
{cent<-CC
D1<-(B+C)/2; D2<-(A+C)/2; D3<-(A+B)/2;
Ds<-rbind(D1,D2,D3)
cent.name<-"CC"
} else
{cent<-M
cent.name<-"M"
Ds<-pcds::prj.cent2edges(Tr,M)
}
L<-rbind(cent,cent,cent); R<-Ds
segments(L[,1], L[,2], R[,1], R[,2], lty=2)
#now we can add the vertex names and annotation
txt<-rbind(Tr,cent,Ds)
xc<-txt[,1]+c(-.02,.02,.02,.02,.03,-.03,-.01)
yc<-txt[,2]+c(.02,.02,.03,.06,.04,.05,-.07)
txt.str<-c("A","B","C","M","D1","D2","D3")
text(xc,yc,txt.str)
#}