| kfr2vertsCCvert.reg {pcds} | R Documentation |
The k furthest points in a data set from vertices
in each CC-vertex region in a triangle
Description
An object of class "Extrema".
Returns the k furthest data points among the data set, Xp,
in each CC-vertex region from the vertex in the
triangle, tri=T(A,B,C), vertices are stacked row-wise.
Vertex region labels/numbers correspond to the
row number of the vertex in tri.
ch.all.intri is for checking
whether all data points are inside tri (default is FALSE).
If some of the data points are not inside tri
and ch.all.intri=TRUE, then the function yields
an error message.
If some of the data points are not inside tri
and ch.all.intri=FALSE, then the function yields
the closest points to edges
among the data points inside tri (yields NA if there are no data points
inside tri).
In the extrema, ext, in the output,
the first k entries are the k furthest points from vertex 1,
second k entries are k furthest points are from vertex 2, and
last k entries are the k furthest points from vertex 3.
If data size does not allow, NA's are inserted
for some or all of the k furthest points for each vertex.
Usage
kfr2vertsCCvert.reg(Xp, tri, k, ch.all.intri = FALSE)
Arguments
Xp |
A set of 2D points representing the set of data points. |
tri |
A |
k |
A positive integer. |
ch.all.intri |
A logical argument (default= |
Value
A list with the elements
txt1 |
Vertex labels are |
txt2 |
A shorter description of the distances
as |
type |
Type of the extrema points |
desc |
A short description of the extrema points |
mtitle |
The |
ext |
The extrema points, here, |
X |
The input data, |
num.points |
The number of data points, i.e., size of |
supp |
Support of the data points, it is |
cent |
The center point used for construction of vertex regions |
ncent |
Name of the center, |
regions |
Vertex regions inside the triangle, |
region.names |
Names of the vertex regions
as |
region.centers |
Centers of mass of the vertex regions
inside |
dist2ref |
Distances from |
Author(s)
Elvan Ceyhan
See Also
fr2vertsCCvert.reg.basic.tri, fr2vertsCCvert.reg.basic.tri,
fr2vertsCCvert.reg, and fr2edgesCMedge.reg.std.tri
Examples
A<-c(1,1); B<-c(2,0); C<-c(1.5,2);
Tr<-rbind(A,B,C);
n<-10 #try also n<-20
k<-3
set.seed(1)
Xp<-runif.tri(n,Tr)$g
Ext<-kfr2vertsCCvert.reg(Xp,Tr,k)
Ext
summary(Ext)
plot(Ext)
Xp2<-rbind(Xp,c(.2,.4))
kfr2vertsCCvert.reg(Xp2,Tr,k)
#try also kfr2vertsCCvert.reg(Xp2,Tr,k,ch.all.intri = TRUE)
kf2v<-Ext
CC<-circumcenter.tri(Tr) #the circumcenter
D1<-(B+C)/2; D2<-(A+C)/2; D3<-(A+B)/2;
Ds<-rbind(D1,D2,D3)
Xlim<-range(Tr[,1],Xp[,1])
Ylim<-range(Tr[,2],Xp[,2])
xd<-Xlim[2]-Xlim[1]
yd<-Ylim[2]-Ylim[1]
plot(A,pch=".",asp=1,xlab="",ylab="",
main=paste(k," Furthest Points in CC-Vertex Regions \n from the Vertices",sep=""),
xlim=Xlim+xd*c(-.05,.05),ylim=Ylim+yd*c(-.05,.05))
polygon(Tr)
L<-matrix(rep(CC,3),ncol=2,byrow=TRUE); R<-Ds
segments(L[,1], L[,2], R[,1], R[,2], lty=2)
points(Xp)
points(kf2v$ext,pch=4,col=2)
txt<-rbind(Tr,CC,Ds)
xc<-txt[,1]+c(-.06,.08,.05,.12,-.1,-.1,-.09)
yc<-txt[,2]+c(.02,-.02,.04,.0,.02,.06,-.04)
txt.str<-c("A","B","C","CC","D1","D2","D3")
text(xc,yc,txt.str)