Learn R Programming

pcds (version 0.1.8)

cl2CCvert.reg.basic.tri: The closest points to circumcenter in each \(CC\)-vertex region in a standard basic triangle

Description

An object of class "Extrema". Returns the closest data points among the data set, Xp, to circumcenter, \(CC\), in each \(CC\)-vertex region in the standard basic triangle \(T_b = T(A=(0,0),B=(1,0),C=(c_1,c_2))=\)(vertex 1,vertex 2,vertex 3). ch.all.intri is for checking whether all data points are inside \(T_b\) (default is FALSE).

See also (ceyhan:Phd-thesis,ceyhan:mcap2012;textualpcds).

Usage

cl2CCvert.reg.basic.tri(Xp, c1, c2, ch.all.intri = FALSE)

Value

A list with the elements

txt1

Vertex labels are \(A=1\), \(B=2\), and \(C=3\) (correspond to row number in Extremum Points).

txt2

A short description of the distances as "Distances from closest points to ...".

type

Type of the extrema points

mtitle

The "main" title for the plot of the extrema

ext

The extrema points, here, closest points to \(CC\) in each vertex region.

X

The input data, Xp, can be a matrix or data frame

num.points

The number of data points, i.e., size of Xp

supp

Support of the data points, here, it is \(T_b\).

cent

The center point used for construction of vertex regions

ncent

Name of the center, cent, it is "CC" for this function.

regions

Vertex regions inside the triangle, \(T_b\), provided as a list.

region.names

Names of the vertex regions as "vr=1", "vr=2", and "vr=3"

region.centers

Centers of mass of the vertex regions inside \(T_b\).

dist2ref

Distances from closest points in each vertex region to CC.

Arguments

Xp

A set of 2D points representing the set of data points.

c1, c2

Positive real numbers which constitute the vertex of the standard basic triangle. adjacent to the shorter edges; \(c_1\) must be in \([0,1/2]\), \(c_2>0\) and \((1-c_1)^2+c_2^2 \le 1\)

ch.all.intri

A logical argument for checking whether all data points are inside \(T_b\) (default is FALSE).

Author

Elvan Ceyhan

References

See Also

cl2CCvert.reg, cl2edges.vert.reg.basic.tri, cl2edgesMvert.reg, cl2edgesCMvert.reg, and fr2edgesCMedge.reg.std.tri

Examples

Run this code
# \donttest{
c1<-.4; c2<-.6;
A<-c(0,0); B<-c(1,0); C<-c(c1,c2);
Tb<-rbind(A,B,C)
n<-15

set.seed(1)
Xp<-runif.basic.tri(n,c1,c2)$g

Ext<-cl2CCvert.reg.basic.tri(Xp,c1,c2)
Ext
summary(Ext)
plot(Ext)

c2CC<-Ext

CC<-circumcenter.basic.tri(c1,c2)  #the circumcenter
D1<-(B+C)/2; D2<-(A+C)/2; D3<-(A+B)/2;
Ds<-rbind(D1,D2,D3)

Xlim<-range(Tb[,1],Xp[,1])
Ylim<-range(Tb[,2],Xp[,2])
xd<-Xlim[2]-Xlim[1]
yd<-Ylim[2]-Ylim[1]

plot(A,pch=".",asp=1,xlab="",ylab="",
main="Closest Points in CC-Vertex Regions \n to the Circumcenter",
xlim=Xlim+xd*c(-.05,.05),ylim=Ylim+yd*c(-.05,.05))
polygon(Tb)
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(c2CC$ext,pch=4,col=2)

txt<-rbind(Tb,CC,Ds)
xc<-txt[,1]+c(-.03,.03,.02,.07,.06,-.05,.01)
yc<-txt[,2]+c(.02,.02,.03,-.01,.03,.03,-.04)
txt.str<-c("A","B","C","CC","D1","D2","D3")
text(xc,yc,txt.str)

Xp2<-rbind(Xp,c(.2,.4))
cl2CCvert.reg.basic.tri(Xp2,c1,c2,ch.all.intri = FALSE)
#gives an error message if ch.all.intri = TRUE
#since not all points are in the standard basic triangle
# }

Run the code above in your browser using DataLab