funsCSEdgeRegs: Each function is for the presence of an arc from a point in...

funsCSEdgeRegsR Documentation

Each function is for the presence of an arc from a point in one of the edge regions to another for Central Similarity Proximity Catch Digraphs (CS-PCDs) - standard equilateral triangle case

Description

Three indicator functions: IarcCSstd.triRAB, IarcCSstd.triRBC and IarcCSstd.triRAC.

The function IarcCSstd.triRAB returns I(p2 is in N_{CS}(p1,t) for p1 in RAB (edge region for edge AB, i.e., edge 3) in the standard equilateral triangle T_e=T(A,B,C)=T((0,0),(1,0),(1/2,\sqrt{3}/2));

IarcCSstd.triRBC returns I(p2 is in N_{CS}(p1,t) for p1 in RBC (edge region for edge BC, i.e., edge 1) in T_e; and

IarcCSstd.triRAC returns I(p2 is in N_{CS}(p1,t) for p1 in RAC (edge region for edge AC, i.e., edge 2) in T_e. That is, each function returns 1 if p2 is in N_{CS}(p1,t), returns 0 otherwise.

CS proximity region is defined with respect to T_e whose vertices are also labeled as T_e=T(v=1,v=2,v=3) with expansion parameter t>0 and edge 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

If p1 and p2 are distinct and p1 is outside the corresponding edge region and p2 is outside T_e, it returns 0, but if they are identical, then it returns 1 regardless of their location (i.e., it allows loops).

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

Usage

IarcCSstd.triRAB(p1, p2, t, M)

IarcCSstd.triRBC(p1, p2, t, M)

IarcCSstd.triRAC(p1, p2, t, M)

Arguments

p1

A 2D point whose CS proximity region is constructed.

p2

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

t

A positive real number which serves as the expansion parameter in CS proximity region.

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.

Value

Each function returns I(p2 is in N_{CS}(p1,t)) for p1, that is, returns 1 if p2 is in N_{CS}(p1,t), returns 0 otherwise

Author(s)

Elvan Ceyhan

See Also

IarcCSt1.std.triRAB, IarcCSt1.std.triRBC and IarcCSt1.std.triRAC

Examples

## Not run: 
#Examples for IarcCSstd.triRAB
A<-c(0,0); B<-c(1,0); C<-c(1/2,sqrt(3)/2);
CM<-(A+B+C)/3
T3<-rbind(A,B,CM);

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

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

t<-1

IarcCSstd.triRAB(Xp[1,],Xp[2,],t,M)
IarcCSstd.triRAB(c(.2,.5),Xp[2,],t,M)

## End(Not run)

## Not run: 
#Examples for IarcCSstd.triRBC
A<-c(0,0); B<-c(1,0); C<-c(1/2,sqrt(3)/2);
CM<-(A+B+C)/3
T1<-rbind(B,C,CM);

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

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

t<-1

IarcCSstd.triRBC(Xp[1,],Xp[2,],t,M)
IarcCSstd.triRBC(c(.2,.5),Xp[2,],t,M)

## End(Not run)

## Not run: 
#Examples for IarcCSstd.triRAC
A<-c(0,0); B<-c(1,0); C<-c(1/2,sqrt(3)/2);
CM<-(A+B+C)/3
T2<-rbind(A,C,CM);

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

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

t<-1

IarcCSstd.triRAC(Xp[1,],Xp[2,],t,M)
IarcCSstd.triRAC(c(.2,.5),Xp[2,],t,M)

## End(Not run)


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