IarcPEtri: The indicator for the presence of an arc from a point to...

View source: R/PropEdge2D.R

IarcPEtriR Documentation

The indicator for the presence of an arc from a point to another for Proportional Edge Proximity Catch Digraphs (PE-PCDs) - one triangle case

Description

Returns I(p2 is in N_{PE}(p1,r)) for points p1 and p2, that is, returns 1 if p2 is in N_{PE}(p1,r), and returns 0 otherwise, where N_{PE}(x,r) is the PE proximity region for point x with the expansion parameter r \ge 1.

PE proximity region is constructed with respect to the triangle tri 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 tri or based on the circumcenter of tri; default is M=(1,1,1), i.e., the center of mass of tri. rv is the index of the vertex region p1 resides, with default=NULL.

If p1 and p2 are distinct and either of them are outside tri, it returns 0, but if they are identical, then it returns 1 regardless of their locations (i.e., it allows loops).

See also (\insertCiteceyhan:Phd-thesis,ceyhan:arc-density-PE,ceyhan:dom-num-NPE-Spat2011;textualpcds).

Usage

IarcPEtri(p1, p2, tri, r, M = c(1, 1, 1), rv = NULL)

Arguments

p1

A 2D point whose PE proximity region is constructed.

p2

A 2D point. The function determines whether p2 is inside the PE proximity region of p1 or not.

tri

A 3 \times 2 matrix with 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 which may be entered as "CC" as well; default is M=(1,1,1), i.e., the center of mass of tri.

rv

Index of the M-vertex region containing the point, either 1,2,3 or NULL (default is NULL).

Value

I(p2 is in N_{PE}(p1,r)) for points p1 and p2, that is, returns 1 if p2 is in N_{PE}(p1,r), and returns 0 otherwise.

Author(s)

Elvan Ceyhan

References

\insertAllCited

See Also

IarcPEbasic.tri, IarcPEstd.tri, IarcAStri, and IarcCStri

Examples

## Not run: 
A<-c(1,1); B<-c(2,0); C<-c(1.5,2);
Tr<-rbind(A,B,C);

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

r<-1.5

n<-3
set.seed(1)
Xp<-runif.tri(n,Tr)$g

IarcPEtri(Xp[1,],Xp[2,],Tr,r,M)

P1<-as.numeric(runif.tri(1,Tr)$g)
P2<-as.numeric(runif.tri(1,Tr)$g)
IarcPEtri(P1,P2,Tr,r,M)

P1<-c(.4,.2)
P2<-c(1.8,.5)
IarcPEtri(P1,P2,Tr,r,M)
IarcPEtri(P2,P1,Tr,r,M)

M<-c(1.3,1.3)
r<-2

#or try
Rv<-rel.vert.tri(P1,Tr,M)$rv
IarcPEtri(P1,P2,Tr,r,M,Rv)

## End(Not run)


elvanceyhan/pcds documentation built on June 29, 2023, 8:12 a.m.