IarcCStri.alt: An alternative to the function 'IarcCStri' which yields the...

View source: R/CentSim2D.R

IarcCStri.altR Documentation

An alternative to the function IarcCStri which yields the indicator for the presence of an arc from one point to another for Central Similarity Proximity Catch Digraphs (CS-PCDs)

Description

Returns I(p2 is in N_{CS}(p1,t)) for points p1 and p2, that is, returns 1 if p2 is in N_{CS}(p1,t), returns 0 otherwise, where N_{CS}(x,t) is the CS proximity region for point x with the expansion parameter t>0.

CS proximity region is constructed with respect to the triangle tri and edge regions are based on the center of mass, CM. re is the index of the CM-edge region p resides, with default=NULL but must be provided as vertices (y_1,y_2,y_3) for re=3 as rbind(y2,y3,y1) for re=1 and as rbind(y1,y3,y2) for re=2 for triangle T(y_1,y_2,y_3).

If p1 and p2 are distinct and either of them are outside tri, 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:arc-density-CS,ceyhan:test2014;textualpcds).

Usage

IarcCStri.alt(p1, p2, tri, t, re = NULL)

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.

tri

A 3 \times 2 matrix with each row representing a vertex of the triangle.

t

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

re

Index of the CM-edge region containing the point p, either 1,2,3 or NULL, default=NULL but must be provided (row-wise) as vertices (y_1,y_2,y_3) for re=3 as (y_2,y_3,y_1) for re=1 and as (y_1,y_3,y_2) for re=2 for triangle T(y_1,y_2,y_3).

Value

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

References

\insertAllCited

See Also

IarcAStri, IarcPEtri, IarcCStri, and IarcCSstd.tri

Examples

## Not run: 
A<-c(1,1); B<-c(2,0); C<-c(1.6,2);
Tr<-rbind(A,B,C);
t<-1.5

P1<-c(.4,.2)
P2<-c(1.8,.5)
IarcCStri(P1,P2,Tr,t,M=c(1,1,1))
IarcCStri.alt(P1,P2,Tr,t)

IarcCStri(P2,P1,Tr,t,M=c(1,1,1))
IarcCStri.alt(P2,P1,Tr,t)

#or try
re<-rel.edges.triCM(P1,Tr)$re
IarcCStri(P1,P2,Tr,t,M=c(1,1,1),re)
IarcCStri.alt(P1,P2,Tr,t,re)

## End(Not run)


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