Learn R Programming

pcds (version 0.1.8)

IarcPEstd.tetra: The indicator for the presence of an arc from a point to another for Proportional Edge Proximity Catch Digraphs (PE-PCDs) - standard regular tetrahedron 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)\), 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 regular tetrahedron \(T_h=T(v=1,v=2,v=3,v=4)=T((0,0,0),(1,0,0),(1/2,\sqrt{3}/2,0),(1/2,\sqrt{3}/6,\sqrt{6}/3))\) and vertex regions are based on the circumcenter (which is equivalent to the center of mass for standard regular tetrahedron) of \(T_h\). 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_h\), it returns 0, but if they are identical, then it returns 1 regardless of their locations (i.e., it allows loops).

See also (ceyhan:Phd-thesis,ceyhan:comp-geo-2010;textualpcds).

Usage

IarcPEstd.tetra(p1, p2, r, rv = 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)\), returns 0 otherwise

Arguments

p1

A 3D point whose PE proximity region is constructed.

p2

A 3D 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\).

rv

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

Author

Elvan Ceyhan

References

See Also

IarcPEtetra, IarcPEtri and IarcPEint

Examples

Run this code
# \donttest{
A<-c(0,0,0); B<-c(1,0,0); C<-c(1/2,sqrt(3)/2,0); D<-c(1/2,sqrt(3)/6,sqrt(6)/3)
tetra<-rbind(A,B,C,D)

n<-3  #try also n<-20
Xp<-runif.std.tetra(n)$g
r<-1.5
IarcPEstd.tetra(Xp[1,],Xp[3,],r)
IarcPEstd.tetra(c(.4,.4,.4),c(.5,.5,.5),r)

#or try
RV<-rel.vert.tetraCC(Xp[1,],tetra)$rv
IarcPEstd.tetra(Xp[1,],Xp[3,],r,rv=RV)

P1<-c(.1,.1,.1)
P2<-c(.5,.5,.5)
IarcPEstd.tetra(P1,P2,r)
# }

Run the code above in your browser using DataLab