View source: R/ArcSliceFunctions.R
IarcASbasic.tri | R Documentation |
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=(m_1,m_2)
in Cartesian coordinates
or M=(\alpha,\beta,\gamma)
in barycentric coordinates
in the interior of the standard basic triangle T_b
or based on circumcenter 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).
IarcASbasic.tri(p1, p2, c1, c2, M = "CC", rv = NULL)
p1 |
A 2D point whose AS proximity region is constructed. |
p2 |
A 2D point. The function determines whether |
c1 , c2 |
Positive real numbers representing the top vertex in standard basic triangle |
M |
The center of the triangle. |
rv |
The index of the |
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.
Elvan Ceyhan
IarcAStri
and NAStri
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)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.