| 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
T_e=T(A=(0,0),B=(1,0),C=(1/2,\sqrt{3}/2)) in half edge regions.
In particular,
in regions r_1 and r_6,
it finds the closest point
in each region to the line segment [A,CM]
in regions r_2 and r_3,
it finds the closest point
in each region to the line segment [B,CM] and
in regions r_4 and r_5,
it finds the closest point
in each region to the line segment [C,CM]
where CM=(A+B+C)/3 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 r_i,
then it returns "NA NA" for i-th row in the extrema.
ch.all.intri is for checking
whether all data points are in T_e (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)