正7角形(Regular heptagon、外角の大きさはpi/7=0.5235988ラジアンあるいは180/7=30度、内角の大きさは2*pi*(7-2)/7=4.48799ラジアンあるいは180*(7-2)/7=128.5714度)の場合
人間にとって有意味な特徴を一切備えていないので無視されがちとなる最初の多角形。そもそも三角定規やコンパスで正確に作図出来ない。
- 2*tan(pi/7)=0.9631492
- 2*tan(pi/7)/cos(pi/7)=1.069015
- cos(pi/7)=0.9009689
一辺の長さがaの正7角形に内接する円の半径r
- r=a*(2*tan(pi/7))=a*0.9631492
- a=r/(2*tan(pi/7))=r/0.9631492
一辺の長さがaの正7角形に外接する円の半径R
- R=a/(2*tan(pi/7))/cos(pi/7)=a/1.069015
- a=R*(2*tan(pi/7))/cos(pi/7)=R*1.069015
一辺の長さがaの正3角形の外接円の半径と内接円の関係
- r=R*cos(pi/7)=R*0.9009689
- R=r/cos(pi/7)=r/0.9009689
結果は「6.742045<=π<=7.483105」で正解範囲。概ね古代エジプトやバビロニア、インド、ギリシアの幾何学者達が挟み撃ち法で円周率を求める時はこの辺りから出発している。
統計言語Rによる作表例
target_size<-c("7^-1","7^-1","7^-1","7^-0.9464085","...","7^-0.05359165","7^0","7^0","7^0","7^0","7^0","7^0.05359155","...","7^0.9464083","7^1","7^1","7^1")
target_names<-c("7^-1","7^-1a1","7^-1a1*7","7^-0.9464085","...","7^-0.05359165","7^0a0","7^0a0*7","7^0","7^0a1","7^0a1*7","7^0.05359155","...","7^0.9464083","7^1a0","7^1a0*7","7^1")
target_values<-c("1/7=0.1428571","0.1428571*1.069015=0.1527164","0.1527164*7=1.069015","0.1428571/0.9009689=0.1585594","...","0.9009689","0.9009689*1.069015=1*0.9631492=0.96314933","6.742045","1.0","1.069015","1.069015*7=7.483105","1/0.9009689=1.109916","...","7*0.9009689=6.306782","6/1.333333=4.500001","4.500001*6=27.00001","7.0")
Regula_falsi06<-data.frame(Target_size=target_size,Target_names=target_names,Target_values=target_values)
library(xtable)
print(xtable(Regula_falsi06), type = "html")
Target_size | Target_names | Target_values | |
---|---|---|---|
1 | 7^-1 | 7^-1 | 1/7=0.1428571 |
2 | 7^-1 | 7^-1a1 | 0.1428571*1.069015=0.1527164 |
3 | 7^-1 | 7^-1a1*7 | 0.1527164*7=1.069015 |
4 | 7^-0.9464085 | 7^-0.9464085 | 0.1428571/0.9009689=0.1585594 |
5 | ... | ... | ... |
6 | 7^-0.05359165 | 7^-0.05359165 | 0.9009689 |
7 | 7^0 | 7^0a0 | 0.9009689*1.069015=1*0.9631492=0.96314933 |
8 | 7^0 | 7^0a0*7 | 6.742045 |
9 | 7^0 | 7^0 | 1.0 |
10 | 7^0 | 7^0a1 | 1.069015 |
11 | 7^0 | 7^0a1*7 | 1.069015*7=7.483105 |
12 | 7^0.05359155 | 7^0.05359155 | 1/0.9009689=1.109916 |
13 | ... | ... | ... |
14 | 7^0.9464083 | 7^0.9464083 | 7*0.9009689=6.306782 |
15 | 7^1 | 7^1a0 | 6/1.333333=4.500001 |
16 | 7^1 | 7^1a0*7 | 4.500001*6=27.00001 |
17 | 7^1 | 7^1 | 7.0 |
「1の原始冪根級数(One Primitive Sone series)」の一環としてζ^7のの条件を満たす7点を結べば基本円(Basic circle,半径1,円周2π)に内接する正7角形を描く。
#計算によって数値は得られるが代数的定義は不明。
Rtime<-seq(0,2,length=8)
tr01<-exp(seq(0,2*pi,length=8)*(0+1i))
tr01
- 1.0000000+0.0000000i
- 0.6234898+0.7818315i
- -0.2225209+0.9749279i
- -0.9009689+0.4338837i
- -0.9009689-0.4338837i
- -0.2225209-0.9749279i
- 0.6234898-0.7818315i
統計言語Rによる作図例
#正7角形
library(rgl)
Rtime<-seq(0,2,length=8)
tr01<-exp(seq(0,2*pi,length=8)*(0+1i))
Real<-Re(tr01)
Imag<-Im(tr01)
#plot(Real,Imag,type="l")
plot3d(Real,Imag,Rtime,type="l",xlim=c(-1,1),ylim=c(-1,1),zlim=c(0,2))
movie3d(spin3d(axis=c(0,0,1),rpm=5),duration=10,fps=25,movie="~/Desktop/test13")
正七角形 統計言語Rによる実装例
Three_square_theorem07<-function(x){
c0<-seq(0,2*pi,length=8)
c0_cos<-cos(c0)
c0_sin<-sin(c0)
plot(c0_cos,c0_sin,type="l",main="Regular polygon rotation",xlab="Cos(θ)",ylab="Sin(θ)")
text(c0_cos,c0_sin, labels=c("a","b","c","d","e","f","g",""),col=c(rgb(1,0,0),rgb(1,0,0),rgb(1,0,0),rgb(1,0,0),rgb(1,0,0),rgb(1,0,0),rgb(1,0,0),rgb(1,0,0)),cex=c(2,2,2,2,2,2,2,2))
line_scale_01_cos<-seq(cos(c0[1]),cos(c0[2]),length=15)
line_scale_01_sin<-seq(sin(c0[1]),sin(c0[2]),length=15)
line_scale_02_cos<-seq(cos(c0[2]),cos(c0[3]),length=15)
line_scale_02_sin<-seq(sin(c0[2]),sin(c0[3]),length=15)
line_scale_03_cos<-seq(cos(c0[3]),cos(c0[4]),length=15)
line_scale_03_sin<-seq(sin(c0[3]),sin(c0[4]),length=15)
line_scale_04_cos<-seq(cos(c0[4]),cos(c0[5]),length=15)
line_scale_04_sin<-seq(sin(c0[4]),sin(c0[5]),length=15)
line_scale_05_cos<-seq(cos(c0[5]),cos(c0[6]),length=15)
line_scale_05_sin<-seq(sin(c0[5]),sin(c0[6]),length=15)
line_scale_06_cos<-seq(cos(c0[6]),cos(c0[7]),length=15)
line_scale_06_sin<-seq(sin(c0[6]),sin(c0[7]),length=15)
line_scale_07_cos<-seq(cos(c0[7]),cos(c0[1]),length=15)
line_scale_07_sin<-seq(sin(c0[7]),sin(c0[1]),length=15)
text(c(line_scale_01_cos[x],line_scale_02_cos[x],line_scale_03_cos[x],line_scale_04_cos[x],line_scale_05_cos[x],line_scale_06_cos[x],line_scale_07_cos[x]),c(line_scale_01_sin[x],line_scale_02_sin[x],line_scale_03_sin[x],line_scale_04_sin[x],line_scale_05_sin[x],line_scale_06_sin[x],line_scale_07_sin[x]), labels=c("ab","bc","cd","de","ef","fg","ga",""),col=c(rgb(0,0,1),rgb(0,0,1),rgb(0,0,1),rgb(0,0,1),rgb(0,0,1),rgb(0,0,1),rgb(0,0,1),rgb(0,0,1)),cex=c(2,2,2,2,2,2,2,2))#塗りつぶし
polygon(c(c0_cos[1],line_scale_07_cos[x],line_scale_01_cos[x],c0_cos[1]), #x
c(c0_sin[1],line_scale_07_sin[x],line_scale_01_sin[x],c0_sin[1]), #y
density=c(30), #塗りつぶす濃度
angle=c(45), #塗りつぶす斜線の角度
col=rgb(0,1,0))#塗りつぶし
polygon(c(c0_cos[2],line_scale_01_cos[x],line_scale_02_cos[x],c0_cos[2]), #x
c(c0_sin[2],line_scale_01_sin[x],line_scale_02_sin[x],c0_sin[2]), #y
density=c(30), #塗りつぶす濃度
angle=c(45), #塗りつぶす斜線の角度
col=rgb(0,1,0))#塗りつぶし
polygon(c(c0_cos[3],line_scale_02_cos[x],line_scale_03_cos[x],c0_cos[3]), #x
c(c0_sin[3],line_scale_02_sin[x],line_scale_03_sin[x],c0_sin[3]), #y
density=c(30), #塗りつぶす濃度
angle=c(45), #塗りつぶす斜線の角度
col=rgb(0,1,0))#塗りつぶし
polygon(c(c0_cos[4],line_scale_03_cos[x],line_scale_04_cos[x],c0_cos[4]), #x
c(c0_sin[4],line_scale_03_sin[x],line_scale_04_sin[x],c0_sin[4]), #y
density=c(30), #塗りつぶす濃度
angle=c(45), #塗りつぶす斜線の角度
col=rgb(0,1,0))#塗りつぶし
polygon(c(c0_cos[5],line_scale_04_cos[x],line_scale_05_cos[x],c0_cos[5]), #x
c(c0_sin[5],line_scale_04_sin[x],line_scale_05_sin[x],c0_sin[5]), #y
density=c(30), #塗りつぶす濃度
angle=c(45), #塗りつぶす斜線の角度
col=rgb(0,1,0))
#塗りつぶし
polygon(c(c0_cos[6],line_scale_05_cos[x],line_scale_06_cos[x],c0_cos[6]), #x
c(c0_sin[6],line_scale_05_sin[x],line_scale_06_sin[x],c0_sin[6]), #y
density=c(30), #塗りつぶす濃度
angle=c(45), #塗りつぶす斜線の角度
col=rgb(0,1,0))#塗りつぶし
polygon(c(c0_cos[7],line_scale_06_cos[x],line_scale_07_cos[x],c0_cos[7]), #x
c(c0_sin[7],line_scale_06_sin[x],line_scale_07_sin[x],c0_sin[7]), #y
density=c(30), #塗りつぶす濃度
angle=c(45), #塗りつぶす斜線の角度
col=rgb(0,1,0))}
#アニメーション
library("animation")
Time_Code=c(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15)
saveGIF({
for (i in Time_Code){
Three_square_theorem07(i)
}
}, interval = 0.1, movie.name = "TEST07.gif")
基本円(Basic circle)上に同心円を描く任意の正7角形内で正7角形を回すと、その片長の比は1と内接円や外接円のサイズ比cos(pi/7)=0.9009689の間を反復し続ける。