rel.verts.tri {pcds} | R Documentation |
The indices of the vertex regions in a triangle that contains the points in a give data set
Description
Returns the indices of the vertices
whose regions contain the points in data set Xp
in
a triangle tri
=T(A,B,C)
.
Vertex regions are based on center M=(m_1,m_2)
in Cartesian coordinates or M=(\alpha,\beta,\gamma)
in barycentric coordinates in the interior of the triangle
to the edges on the extension of the lines joining M
to the vertices
or based on the circumcenter of tri
.
Vertices of triangle tri
are labeled as 1,2,3
according to the row number the vertex is recorded.
If a point in Xp
is not inside tri
,
then the function yields NA
as output for that entry.
The corresponding vertex region is the polygon with the vertex, M
, and
projection points from M
to the edges crossing the vertex
(as the output of prj.cent2edges(Tr,M)
)
or CC
-vertex region
(see the examples for an illustration).
See also (Ceyhan (2005, 2011)).
Usage
rel.verts.tri(Xp, tri, M)
Arguments
Xp |
A set of 2D points representing the set of data points for which indices of the vertex regions containing them are to be determined. |
tri |
A |
M |
A 2D point in Cartesian coordinates
or a 3D point in barycentric coordinates
which serves as a center in the interior of the triangle |
Value
A list
with two elements
rv |
Indices of the vertices
whose regions contains points in |
tri |
The vertices of the triangle,
where row number corresponds to the vertex index in |
Author(s)
Elvan Ceyhan
References
Ceyhan E (2005).
An Investigation of Proximity Catch Digraphs in Delaunay Tessellations, also available as technical monograph titled Proximity Catch Digraphs: Auxiliary Tools, Properties, and Applications.
Ph.D. thesis, The Johns Hopkins University, Baltimore, MD, 21218.
Ceyhan E (2010).
“Extension of One-Dimensional Proximity Regions to Higher Dimensions.”
Computational Geometry: Theory and Applications, 43(9), 721-748.
Ceyhan E (2011).
“Spatial Clustering Tests Based on Domination Number of a New Random Digraph Family.”
Communications in Statistics - Theory and Methods, 40(8), 1363-1395.
Ceyhan E (2012).
“An investigation of new graph invariants related to the domination number of random proximity catch digraphs.”
Methodology and Computing in Applied Probability, 14(2), 299-334.
See Also
rel.verts.triCM
, rel.verts.triCC
,
and rel.verts.tri.nondegPE
Examples
A<-c(1,1); B<-c(2,0); C<-c(1.5,2);
Tr<-rbind(A,B,C);
M<-c(1.6,1.0)
P<-c(.4,.2)
rel.verts.tri(P,Tr,M)
n<-20 #try also n<-40
set.seed(1)
Xp<-runif.tri(n,Tr)$g
M<-as.numeric(runif.tri(1,Tr)$g) #try also #M<-c(1.6,1.0)
rel.verts.tri(Xp,Tr,M)
rel.verts.tri(rbind(Xp,c(2,2)),Tr,M)
rv<-rel.verts.tri(Xp,Tr,M)
rv
ifelse(identical(M,circumcenter.tri(Tr)),
Ds<-rbind((B+C)/2,(A+C)/2,(A+B)/2),Ds<-prj.cent2edges(Tr,M))
Xlim<-range(Tr[,1],M[1],Xp[,1])
Ylim<-range(Tr[,2],M[2],Xp[,2])
xd<-Xlim[2]-Xlim[1]
yd<-Ylim[2]-Ylim[1]
if (dimension(M)==3) {M<-bary2cart(M,Tr)}
#need to run this when M is given in barycentric coordinates
plot(Tr,pch=".",xlab="",ylab="",
main="Scatterplot of data points \n and M-vertex regions in a triangle",
axes=TRUE,xlim=Xlim+xd*c(-.05,.05),ylim=Ylim+yd*c(-.05,.05))
polygon(Tr)
points(Xp,pch=".",col=1)
L<-rbind(M,M,M); R<-Ds
segments(L[,1], L[,2], R[,1], R[,2], lty = 2)
xc<-Tr[,1]
yc<-Tr[,2]
txt.str<-c("rv=1","rv=2","rv=3")
text(xc,yc,txt.str)
txt<-rbind(M,Ds)
xc<-txt[,1]+c(.02,.04,-.03,0)
yc<-txt[,2]+c(.07,.04,.05,-.07)
txt.str<-c("M","D1","D2","D3")
text(xc,yc,txt.str)
text(Xp,labels=factor(rv$rv))