edgesAStri {pcds.ugraph}R Documentation

The edges of the underlying or reflexivity graph of the Arc Slice Proximity Catch Digraph (AS-PCD) for 2D data - one triangle case

Description

An object of class "UndPCDs". Returns edges of the underlying or reflexivity graph of AS-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.

AS proximity regions are constructed with respect to the triangle tri, 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 AS-PCD such as number of edges, edge density, etc.

Vertex regions are based on the 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 circumcenter of tri; default is M="CC", i.e., circumcenter of tri. 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.

See also (Ceyhan (2005, 2016)).

Usage

edgesAStri(Xp, tri, M = "CC", ugraph = c("underlying", "reflexivity"))

Arguments

Xp

A set of 2D points which constitute the vertices of the underlying or reflexivity graph of the AS-PCD.

tri

A 3 \times 2 matrix with each row representing a vertex of the triangle.

M

The center of the triangle. "CC" stands for circumcenter of the triangle tri or a 2D point in Cartesian coordinates or a 3D point in barycentric coordinates which serves as a center in the interior of the triangle T_b; default is M="CC", i.e., the circumcenter of tri.

ugraph

The type of the graph based on AS-PCDs, "underlying" is for the underlying graph, and "reflexivity" is for the reflexivity graph (default is "underlying").

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, here, it is only the center M used to construct the vertex regions.

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 tess.points

vertices

Vertices of the underlying or reflexivity graph of the digraph, Xp points

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 AS-PCD for 2D data set Xp as vertices of the underlying or reflexivity graph of the digraph

mtitle

Text for "main" title in the plot of the underlying or reflexivity graph of the digraph

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

edgesAS, edgesPEtri, edgesCStri, and arcsAStri

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)

#for underlying graph
Edges<-edgesAStri(Xp,Tr,M)
Edges
summary(Edges)
plot(Edges)

#for reflexivity graph
Edges<-edgesAStri(Xp,Tr,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)
#}


[Package pcds.ugraph version 0.1.1 Index]