IarcPEset2pnt.tri {pcds}R Documentation

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

Description

Returns I(p in N_{PE}(x,r) for some x in S), that is, returns 1 if p is in \cup_{x in S}N_{PE}(x,r), and returns 0 otherwise.

PE proximity region is constructed with respect to the triangle tri with the 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 the circumcenter of tri; default is M=(1,1,1), i.e., the center of mass of tri. Vertices of tri are also labeled as 1, 2, and 3, respectively.

If p is not in S and either p or all points in S are outside tri, it returns 0, but if p is in S, then it always returns 1 regardless of its location (i.e., loops are allowed).

Usage

IarcPEset2pnt.tri(S, p, tri, r, M = c(1, 1, 1))

Arguments

S

A set of 2D points. Presence of an arc from a point in S to point p is checked by the function.

p

A 2D point. Presence of an arc from a point in S to point p is checked by the function.

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 constructed in the triangle tri; 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.

Value

I(p is in U_{x in S} N_{PE}(x,r)), that is, returns 1 if p is in S or inside N_{PE}(x,r) for at least one x in S, and returns 0 otherwise, where PE proximity region is constructed with respect to the triangle tri

Author(s)

Elvan Ceyhan

See Also

IarcPEset2pnt.std.tri, IarcPEtri, IarcPEstd.tri, IarcASset2pnt.tri, and IarcCSset2pnt.tri

Examples


A<-c(1,1); B<-c(2,0); C<-c(1.5,2);
Tr<-rbind(A,B,C);
n<-10

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

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

r<-1.5

S<-rbind(Xp[1,],Xp[2,])  #try also S<-c(1.5,1)

IarcPEset2pnt.tri(S,Xp[3,],Tr,r,M)
IarcPEset2pnt.tri(S,Xp[3,],r=1,Tr,M)

S<-rbind(Xp[1,],Xp[2,],Xp[3,],Xp[5,])
IarcPEset2pnt.tri(S,Xp[3,],Tr,r,M)

S<-rbind(c(.1,.1),c(.3,.4),c(.5,.3))
IarcPEset2pnt.tri(S,Xp[3,],Tr,r,M)

P<-c(.4,.2)
S<-Xp[c(1,3,4),]
IarcPEset2pnt.tri(Xp,P,Tr,r,M)



[Package pcds version 0.1.8 Index]