manhole <- function(n,...){
p=ngon(n,...)
r=(1/2)/sin(pi/n) # Radius of circumsribing circle
C=(1/2+1i*(1/2)*sqrt(4*r^2-1)) # its enter
Cir(C,r,lty=3,col=8)
m=which.max(abs(p[1]-p[1:n])) # maximal diagnonal vertex
seg(p[1],p[m],col='blue')
(mdl=abs(p[1]-p[m])) # max. diagnonal length
top=1/2+1i*Im(p[floor( median(1:n) )] )
seg(0.5,top,col='red')
(height=Im(top))
list(対角線=mdl,高さ=height, 落下= mdl > height,R=R)
}
n=7
(a=manhole(n,axes=F))
(side=a[[1]]/a[[2]]) # 落下しない正n多角形の辺の長さ
(1/2)*side/sin(pi/n) # その外接円の半径