Xin.convex.hullY | R Documentation |
Given two 2D data sets, Xp
and Yp
,
it returns the Xp
points
inside the convex hull of Yp
points.
See (\insertCiteokabe:2000,ceyhan:comp-geo-2010,sinclair:2016;textualpcds) for more on Delaunay triangulation and the corresponding algorithm.
Xin.convex.hullY(Xp, Yp)
Xp |
A set of 2D points which constitute the data set. |
Yp |
A set of 2D points which constitute the vertices of the Delaunay triangles. |
Xp
points inside the convex hull of Yp
points
Elvan Ceyhan
plotDelaunay.tri
#nx is number of X points (target) and ny is number of Y points (nontarget)
nx<-20; ny<-5; #try also nx<-40; ny<-10 or nx<-1000; ny<-10;
set.seed(1)
Xp<-cbind(runif(nx,0,1),runif(nx,0,1))
Yp<-cbind(runif(ny,0,.25),runif(ny,0,.25))+cbind(c(0,0,0.5,1,1),c(0,1,.5,0,1))
#try also Yp<-cbind(runif(ny,0,1),runif(ny,0,1))
DT<-interp::tri.mesh(Yp[,1],Yp[,2],duplicate="remove")
Xlim<-range(Xp[,1],Yp[,1])
Ylim<-range(Xp[,2],Yp[,2])
xd<-Xlim[2]-Xlim[1]
yd<-Ylim[2]-Ylim[1]
Xch<-Xin.convex.hullY(Xp,Yp)
plot(Xp,main=" ", xlab=" ", ylab=" ",
xlim=Xlim+xd*c(-.05,.05),ylim=Ylim+yd*c(-.05,.05),pch=".",cex=3)
interp::convex.hull(DT,plot.it = TRUE, add = TRUE) # or try polygon(Yp[ch$i,])
points(Xch,pch=4,col="red")
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.