library(plotrix) distance<-function(x1,y1,x2,y2) { sqrt((x2-x1)^2+(y2-y1)^2) } x<-c(103,31,115,75,40,101,70,75) y<-c(22,105,49,34,79,85,96,90) y<-150-y angle<-c() for(i in 1:8) angle<-c(angle,atan2(y[i]-75,x[i]-75)) par( mfrow = c( 2, 4 ), mai=c(0,0,0,0) ) for(n in 1:8) { plot(x,y,xlim=c(0,150),ylim=c(0,150),asp=1,lwd=3,col="lightgray", axes = FALSE, xlab="", ylab="") points(x[n],y[n],col="red",lwd=3) for(i in 1:8) draw.circle(75,75,distance(75,75,x[i],y[i]),nv=1000,border="lightgray") draw.circle(75,75,distance(75,75,x[n],y[n]),nv=1000,border="red") segments(75,75,x[n],y[n],col="blue") segments(75,75,75+60*cos(angle[n]),75+60*sin(angle[n]),col="red") draw.circle(75+73*cos(angle[n]),75+73*sin(angle[n]),10,col="yellow") for(i in 1:length(alpha)) text(75+73*cos((pi*2)*((33.5-i)/26)), 75+73*sin((pi*2)*((33.5-i)/26)), LETTERS[i]) }