arcsAStri: The arcs of Arc Slice Proximity Catch Digraph (AS-PCD) for 2D...

View source: R/ArcSliceFunctions.R

arcsAStriR Documentation

The arcs of Arc Slice Proximity Catch Digraph (AS-PCD) for 2D data - one triangle case

Description

An object of class "PCDs". Returns arcs as tails (or sources) and heads (or arrow ends) for data set Xp as the vertices of AS-PCD and related parameters and the quantities of the digraph.

AS proximity regions are constructed with respect to the triangle tri, i.e., arcs may exist for points only inside tri. It also provides various descriptions and quantities about the arcs of the AS-PCD such as number of arcs, arc density, etc.

Vertex regions are based on the center M="CC" for circumcenter of tri; or M=(m_1,m_2) in Cartesian coordinates or M=(\alpha,\beta,\gamma) in barycentric coordinates in the interior of the triangle tri; default is M="CC" the circumcenter of tri. The different consideration of circumcenter vs any other interior center of the triangle is because the projections from circumcenter are orthogonal to the edges, while projections of M on the edges are on the extensions of the lines connecting M and the vertices.

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

Usage

arcsAStri(Xp, tri, M = "CC")

Arguments

Xp

A set of 2D points which constitute the vertices of the AS-PCD.

tri

Three 2D points, stacked row-wise, each row representing a vertex of the triangle.

M

The center of the triangle. "CC" stands for circumcenter of the triangle tri 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 tri.

Value

A list with the elements

type

A description of the type of the digraph

parameters

Parameters of the digraph, here, it is the center used to construct the vertex regions.

tess.points

Points on which the tessellation of the study region is performed, here, tessellation is the support triangle.

tess.name

Name of data set used in tessellation (i.e., vertices of the triangle).

vertices

Vertices of the digraph, Xp.

vert.name

Name of the data set which constitute the vertices of the digraph

S

Tails (or sources) of the arcs of AS-PCD for 2D data set Xp as vertices of the digraph

E

Heads (or arrow ends) of the arcs of AS-PCD for 2D data set Xp as vertices of the digraph

mtitle

Text for "main" title in the plot of the digraph

quant

Various quantities for the digraph: number of vertices, number of partition points, number of intervals, number of arcs, and arc density.

Author(s)

Elvan Ceyhan

References

\insertAllCited

See Also

arcsAS, arcsPEtri, arcsCStri, arcsPE, and arcsCS

Examples

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

Tr<-rbind(A,B,C);
n<-10

set.seed(1)
Xp<-runif.tri(n,Tr)$g

M<-as.numeric(runif.tri(1,Tr)$g)  #try also  M<-c(1.6,1.2) or M<-circumcenter.tri(Tr)

Arcs<-arcsAStri(Xp,Tr,M) #try also Arcs<-arcsAStri(Xp,Tr)
#uses the default center, namely circumcenter for M
Arcs
summary(Arcs)
plot(Arcs) #use plot(Arcs,asp=1) if M=CC

#can add vertex regions
#but we first need to determine center is the circumcenter or not,
#see the description for more detail.
CC<-circumcenter.tri(Tr)
M = as.numeric(Arcs$parameters[[1]])
if (isTRUE(all.equal(M,CC)) || identical(M,"CC"))
{cent<-CC
D1<-(B+C)/2; D2<-(A+C)/2; D3<-(A+B)/2;
Ds<-rbind(D1,D2,D3)
cent.name<-"CC"
} else
{cent<-M
cent.name<-"M"
Ds<-prj.cent2edges(Tr,M)
}
L<-rbind(cent,cent,cent); R<-Ds
segments(L[,1], L[,2], R[,1], R[,2], lty=2)

#now we add the vertex names and annotation
txt<-rbind(Tr,cent,Ds)
xc<-txt[,1]+c(-.02,.03,.02,.03,.04,-.03,-.01)
yc<-txt[,2]+c(.02,.02,.03,.06,.04,.05,-.07)
txt.str<-c("A","B","C",cent.name,"D1","D2","D3")
text(xc,yc,txt.str)

## End(Not run)


pcds documentation built on July 9, 2023, 5:54 p.m.