- 完全グラフを描く(こちら)
- 辺の長さをL>=2にすると、各辺のL等分点が付け加わる
DrawPerfectGraph2<-function(d=5,L=1,edge=TRUE,cex1=2,cex2=1){
k<-1:d
divk<-k/d
divk<-divk*2*pi
x<-cos(divk)
y<-sin(divk)
par(pin=c(2,2))
plot(x,y,pch=20,cex=cex1)
edgeMatrix<-matrix(rep(TRUE,d^2),nrow=d)
edgeMatrix[lower.tri(edgeMatrix,diag=TRUE)]<-FALSE
Edges<-which(edgeMatrix,arr.ind=TRUE)
if(edge){
segments(x[Edges[,1]],y[Edges[,1]],x[Edges[,2]],y[Edges[,2]])
}
if(L>1){
LL<-(1:(L-1))/L
for(i in 1:length(Edges[,1])){
points(x[Edges[i,1]]*LL+x[Edges[i,2]]*(1-LL),y[Edges[i,1]]*LL+y[Edges[i,2]]*(1-LL),pch=20,cex=cex2)
}
}
}
par(mfcol=c(1,2))
DrawPerfectGraph2(d=10,L=2)
DrawPerfectGraph2(d=10,L=2,edge=FALSE)
par(mfcol=c(1,1))