six.extremaTe {pcds} | R Documentation |
The closest points among a data set in the standard equilateral triangle to the median lines in the six half edge regions
Description
An object of class "Extrema"
.
Returns the six closest points among the data set, Xp
,
in the standard equilateral triangle
in half edge regions.
In particular,
in regions
and
,
it finds the closest point
in each region to the line segment
in regions
and
,
it finds the closest point
in each region to the line segment
and
in regions
and
,
it finds the closest point
in each region to the line segment
where
is the center of mass.
See the example for this function or example for
index.six.Te
function.
If there is no data point in region ,
then it returns "
NA
NA
" for -th row in the extrema.
ch.all.intri
is for checking
whether all data points are in (default is
FALSE
).
Usage
six.extremaTe(Xp, ch.all.intri = FALSE)
Arguments
Xp |
A set of 2D points among which the closest points in the standard equilateral triangle to the median lines in 6 half edge regions. |
ch.all.intri |
A logical argument
for checking whether all data points are in |
Value
A list
with the elements
txt1 |
Region labels as r1-r6 (correspond to row number in Extremum Points). |
txt2 |
A short description of the distances
as |
type |
Type of the extrema points |
mtitle |
The |
ext |
The extrema points, here,
closest points in each of regions |
X |
The input data, |
num.points |
The number of data points, i.e., size of |
supp |
Support of the data points, here, it is |
cent |
The center point used for construction of edge regions. |
ncent |
Name of the center, |
regions |
The six regions, |
region.names |
Names of the regions
as |
region.centers |
Centers of mass of the regions |
dist2ref |
Distances from closest points
in each of regions |
Author(s)
Elvan Ceyhan
See Also
index.six.Te
and cl2edges.std.tri
Examples
n<-20 #try also n<-100
Xp<-runif.std.tri(n)$gen.points
Ext<-six.extremaTe(Xp)
Ext
summary(Ext)
plot(Ext)
sixt<-Ext
A<-c(0,0); B<-c(1,0); C<-c(0.5,sqrt(3)/2);
Te<-rbind(A,B,C)
CM<-(A+B+C)/3
D1<-(B+C)/2; D2<-(A+C)/2; D3<-(A+B)/2;
Ds<-rbind(D1,D2,D3)
h1<-c(1/2,sqrt(3)/18); h2<-c(2/3, sqrt(3)/9); h3<-c(2/3, 2*sqrt(3)/9);
h4<-c(1/2, 5*sqrt(3)/18); h5<-c(1/3, 2*sqrt(3)/9); h6<-c(1/3, sqrt(3)/9);
r1<-(h1+h6+CM)/3;r2<-(h1+h2+CM)/3;r3<-(h2+h3+CM)/3;
r4<-(h3+h4+CM)/3;r5<-(h4+h5+CM)/3;r6<-(h5+h6+CM)/3;
Xlim<-range(Te[,1],Xp[,1])
Ylim<-range(Te[,2],Xp[,2])
xd<-Xlim[2]-Xlim[1]
yd<-Ylim[2]-Ylim[1]
plot(A,pch=".",xlab="",ylab="",axes=TRUE,xlim=Xlim+xd*c(-.05,.05),
ylim=Ylim+yd*c(-.05,.05))
polygon(Te)
L<-Te; R<-Ds
segments(L[,1], L[,2], R[,1], R[,2], lty=2)
polygon(rbind(h1,h2,h3,h4,h5,h6))
points(Xp)
points(sixt$ext,pty=2,pch=4,col="red")
txt<-rbind(Te,r1,r2,r3,r4,r5,r6)
xc<-txt[,1]+c(-.02,.02,.02,0,0,0,0,0,0)
yc<-txt[,2]+c(.02,.02,.03,0,0,0,0,0,0)
txt.str<-c("A","B","C","1","2","3","4","5","6")
text(xc,yc,txt.str)