Learn R Programming

pcds (version 0.1.2)

plotPEregsTri: The plot of the Proportional Edge (PE) Proximity Regions for a 2D data set - one triangle case

Description

Plots the points in and outside of the triangle tri and also the PE proximity regions for points in data set Xp.

PE proximity regions are defined with respect to the triangle tri with expansion parameter \(r \ge 1\), so PE proximity regions are defined only for points inside the triangle tri.

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 tri or based on the circumcenter of tri; default is \(M=(1,1,1)\) i.e., the center of mass of tri.

See also (ceyhan:Phd-thesis,ceyhan:arc-density-PE,ceyhan:dom-num-NPE-Spat2011;textualpcds).

Usage

plotPEregsTri(
  Xp,
  tri,
  r,
  M = c(1, 1, 1),
  asp = NA,
  main = "",
  xlab = "",
  ylab = "",
  xlim = NULL,
  ylim = NULL,
  ...
)

Arguments

Xp

A set of 2D points for which PE proximity regions are constructed.

tri

Three 2D points, stacked row-wise, each row representing a vertex of the triangle.

r

A positive real number which serves as the expansion parameter in PE proximity region; must be \(\ge 1\).

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 tri or the circumcenter of tri; default is \(M=(1,1,1)\) i.e., the center of mass of tri.

asp

A numeric value, giving the aspect ratio \(y/x\) (default is NA), see the official help page for asp by typing "? asp".

main

An overall title for the plot (default="").

xlab, ylab

Titles for the \(x\) and \(y\) axes, respectively (default="" for both).

xlim, ylim

Two numeric vectors of length 2, giving the \(x\)- and \(y\)-coordinate ranges (default=NULL for both).

Additional plot parameters.

Value

Plot of the PE proximity regions for points inside the triangle tri (and just the points outside tri)

References

See Also

plotPEregsMT, plotASregsTri and plotCSregsTri

Examples

Run this code
# NOT RUN {
A<-c(1,1); B<-c(2,0); C<-c(1.5,2);
Tr<-rbind(A,B,C);
n<-10

set.seed(1)
dat<-runif.tri(n,Tr)$g

M<-as.numeric(runif.tri(1,Tr)$g)  #try also M<-c(1.6,1.0)

r<-1.5  #try also r<-2

ifelse(identical(M,circ.cent.tri(Tr)),Ds<-rbind((B+C)/2,(A+C)/2,(A+B)/2),Ds<-cp2e.tri(Tr,M))

plotPEregsTri(dat,Tr,r,M)
plotPEregsTri(dat[1,],Tr,r,M)

dat<-matrix(dat,ncol=2)
Xlim<-range(Tr[,1],dat[,1],M[1])
Ylim<-range(Tr[,2],dat[,2],M[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
plotPEregsTri(dat,Tr,r,M,main="PE Proximity Regions with r=1.5",
xlab="",ylab="",xlim=Xlim+xd*c(-.05,.05),ylim=Ylim+yd*c(-.05,.05))
L<-rbind(M,M,M); R<-Ds
segments(L[,1], L[,2], R[,1], R[,2], lty=2)

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

# }

Run the code above in your browser using DataLab