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

View source: R/ArcSliceFunctions.R

IarcASbasic.triR Documentation

The indicator for the presence of an arc from a point to another for Arc Slice Proximity Catch Digraphs (AS-PCDs) - standard basic triangle case

Description

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

AS proximity region is constructed in the standard basic triangle T_b=T((0,0),(1,0),(c_1,c_2)) where c_1 is in [0,1/2], c_2>0 and (1-c_1)^2+c_2^2 \le 1.

Vertex regions are based on the center M="CC" for circumcenter of T_b; or M=(m_1,m_2) in Cartesian coordinates or M=(\alpha,\beta,\gamma) in barycentric coordinates in the interior of T_b; default is M="CC" i.e., circumcenter of T_b. 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_b, the function returns 0, but if they are identical, then it returns 1 regardless of their locations (i.e., it allows loops).

Any given triangle can be mapped to the standard basic triangle by a combination of rigid body motions (i.e., translation, rotation and reflection) and scaling, preserving uniformity of the points in the original triangle. Hence standard basic triangle is useful for simulation studies under the uniformity hypothesis.

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

Usage

IarcASbasic.tri(p1, p2, c1, c2, M = "CC", rv = NULL)

Arguments

p1

A 2D point whose AS proximity region is constructed.

p2

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

c1, c2

Positive real numbers representing the top vertex in standard basic triangle T_b=T((0,0),(1,0),(c_1,c_2)), c_1 must be in [0,1/2], c_2>0 and (1-c_1)^2+c_2^2 \le 1.

M

The center of the triangle. "CC" stands for circumcenter or a 2D point in Cartesian coordinates or a 3D point in barycentric coordinates which serves as a center in the interior of the triangle T_b; default is M="CC" i.e., the circumcenter of T_b.

rv

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

Value

I(p2 \in N_{AS}(p1)) for points p1 and p2, that is, returns 1 if p2 is in N_{AS}(p1) (i.e., if there is an arc from p1 to p2), returns 0 otherwise.

Author(s)

Elvan Ceyhan

References

\insertAllCited

See Also

IarcAStri and NAStri

Examples

## Not run: 
c1<-.4; c2<-.6;
A<-c(0,0); B<-c(1,0); C<-c(c1,c2);
Tb<-rbind(A,B,C)

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

P1<-as.numeric(runif.basic.tri(1,c1,c2)$g)
P2<-as.numeric(runif.basic.tri(1,c1,c2)$g)
IarcASbasic.tri(P1,P2,c1,c2,M)

P1<-c(.3,.2)
P2<-c(.6,.2)
IarcASbasic.tri(P1,P2,c1,c2,M)

#or try
Rv<-rel.vert.basic.triCC(P1,c1,c2)$rv
IarcASbasic.tri(P1,P2,c1,c2,M,Rv)

P1<-c(.3,.2)
P2<-c(.8,.2)
IarcASbasic.tri(P1,P2,c1,c2,M)

P3<-c(.5,.4)
IarcASbasic.tri(P1,P3,c1,c2,M)

P4<-c(1.5,.4)
IarcASbasic.tri(P1,P4,c1,c2,M)
IarcASbasic.tri(P4,P4,c1,c2,M)

c1<-.4; c2<-.6;
P1<-c(.3,.2)
P2<-c(.6,.2)
IarcASbasic.tri(P1,P2,c1,c2,M)

## End(Not run)


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