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
ArcsPEtri(dat,Tr,r,M)
Arcs<-ArcsPEtri(dat,Tr,r,M)
Arcs
summary(Arcs)
plot(Arcs)
S<-Arcs$S
E<-Arcs$E
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]
Ds<-cp2e.tri(Tr,M)
if (dimension(M)==3) {M<-bary2cart(M,Tr)}
#need to run this when M is given in barycentric coordinates
plot(Tr,pch=".",xlab="",ylab="",axes=TRUE,
xlim=Xlim+xd*c(-.05,.05),ylim=Ylim+yd*c(-.05,.05))
polygon(Tr)
points(dat,pch=1,col=1)
L<-rbind(M,M,M); R<-Ds
segments(L[,1], L[,2], R[,1], R[,2], lty=2)
arrows(S[,1], S[,2], E[,1], E[,2], length = 0.1, col= 4)
txt<-rbind(Tr,M,Ds)
xc<-txt[,1]+c(-.02,.03,.02,.03,.04,-.03,-.01)
yc<-txt[,2]+c(.02,.02,.03,.06,.04,.05,-.07)
txt.str<-c("A","B","C","M","D1","D2","D3")
text(xc,yc,txt.str)
r<-2
ArcsPEtri(dat,Tr,r,M)
dat.fr<-data.frame(a=dat)
ArcsPEtri(dat.fr,Tr,r,M)
dat.fr<-data.frame(a=Tr)
ArcsPEtri(dat,dat.fr,r,M)
Run the code above in your browser using DataLab