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

View source: R/PropEdge2D.R

IarcPEstd.triR Documentation

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

Description

Returns I(p2 is in N_{PE}(p1,r)) for points p1 and p2 in the standard equilateral triangle, 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 expansion parameter r \ge 1.

PE proximity region is defined with respect to the standard equilateral triangle T_e=T(v=1,v=2,v=3)=T((0,0),(1,0),(1/2,\sqrt{3}/2)) 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 T_e; default is M=(1,1,1), i.e., the center of mass of T_e. 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 T_e, 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:comp-geo-2010,ceyhan:arc-density-CS;textualpcds).

Usage

IarcPEstd.tri(p1, p2, 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.

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 standard equilateral triangle T_e; default is M=(1,1,1) i.e. the center of mass of T_e.

rv

The index of the vertex region in T_e 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 in the standard equilateral triangle, that is, returns 1 if p2 is in N_{PE}(p1,r), and returns 0 otherwise.

Author(s)

Elvan Ceyhan

References

\insertAllCited

See Also

IarcPEtri, IarcPEbasic.tri, and IarcCSstd.tri

Examples

## Not run: 
A<-c(0,0); B<-c(1,0); C<-c(1/2,sqrt(3)/2);
Te<-rbind(A,B,C)
n<-3

set.seed(1)
Xp<-runif.std.tri(n)$gen.points

M<-as.numeric(runif.std.tri(1)$g)  #try also M<-c(.6,.2)

IarcPEstd.tri(Xp[1,],Xp[3,],r=1.5,M)
IarcPEstd.tri(Xp[1,],Xp[3,],r=2,M)

#or try
Rv<-rel.vert.std.triCM(Xp[1,])$rv
IarcPEstd.tri(Xp[1,],Xp[3,],r=2,rv=Rv)

P1<-c(.4,.2)
P2<-c(.5,.26)
r<-2
IarcPEstd.tri(P1,P2,r,M)

## End(Not run)


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