Learn R Programming

pcds (version 0.1.2)

NumArcsPEtri: Number of arcs of Proportional Edge Proximity Catch Digraphs (PE-PCDs) - one triangle case

Description

Returns the number of arcs of Proportional Edge Proximity Catch Digraphs (PE-PCDs) whose vertices are the given 2D numerical data set, dat.

PE proximity region \(N_{PE}(x,r)\) is defined with respect to the triangle, tri for this function. PE proximity region is constructed with expansion parameter \(r \ge 1\) and 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=(1,1,1)\) i.e., the center of mass of tri. For the number of arcs, loops are not allowed so arcs are only possible for points inside the triangle tri for this function.

See also (ceyhan:Phd-thesis,ceyhan:arc-density-PE;textualpcds).

Usage

NumArcsPEtri(dat, tri, r, M = c(1, 1, 1))

Arguments

dat

A set of 2D points which constitute the vertices of PE-PCD.

tri

Three 2D points, stacked row-wise, each row representing a vertex of the triangle.

r

A positive real number which serves as the expansion parameter in PE proximity region; must be \(\ge 1\).

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 tri or the circumcenter of tri; default is \(M=(1,1,1)\) i.e., the center of mass of tri.

Value

Number of arcs of the PE-PCD with vertices being 2D data set, dat, in tri with expansion parameter, \(r \ge 1\), and center M. PE proximity regions are defined only for dat points inside tri, i.e., arcs are possible for such points only.

References

See Also

NumArcsPETe, NumArcsPEMT, NumArcsCStri, and NumArcsAStri

Examples

Run this code
# NOT RUN {
A<-c(1,1); B<-c(2,0); C<-c(1.5,2);
Tr<-rbind(A,B,C);

n<-10  #try also n<-20
set.seed(1)
dat<-runif.tri(n,Tr)$g

M<-as.numeric(runif.tri(1,Tr)$g)  #try also M<-c(1.6,1.0)

NumArcsPEtri(dat,Tr,r=1.25,M)
NumArcsPEtri(dat,Tr,r=1.5,M)
NumArcsPEtri(dat,Tr,r=2.0,M)

NumArcsPEtri(rbind(dat,c(0,2)),Tr,r=1.25,M)

r<-2
NumArcsPEtri(dat,Tr,r,M)

dat.fr<-data.frame(a=dat)
NumArcsPEtri(dat.fr,Tr,r,M)

dat.fr<-data.frame(a=Tr)
NumArcsPEtri(dat,dat.fr,r,M)

# }

Run the code above in your browser using DataLab