「正六角形(Regular hexagon、外角の大きさはpi/6=0.5235988ラジアンあるいは180/6=30度、内角の大きさは2*pi*(6-2)/6=4.18879ラジアンあるいは180*(6-2)/6=120度)」の場合
対象円の半径と内接する正六角形の1辺の長さが一致する。外接円に対する内接円の半径の比率は指数サイズで推移せず(0.8660254倍)、空間充填性(同じ立体で空間を埋め尽くす能力)は備えないが平面充填性(同じ図面で平面を埋め尽くす能力)は備える。
*平面充填性(同じ図面で平面を埋め尽くす能力)は備える。…まぁ平面上は「正三角形を6個寄せ集めたもの」なので当然といえば当然。これも双対関係の1種?
- 2*tan(pi/6)=1.154701
- 2*tan(pi/6)/cos(pi/6)=1.333333
- cos(pi/6)=0.8660254
一辺の長さがaの正6角形に内接する円の半径r
- r=a*(2*tan(pi/6))=a*1.154701
- a=r/(2*tan(pi/6))=r/1.154701
一辺の長さがaの正6角形に外接する円の半径R
- R=a/(2*tan(pi/6))/cos(pi/6)=a/1.333333
- a=R*(2*tan(pi/6))/cos(pi/6)=R*1.333333
一辺の長さがaの正3角形の外接円の半径と内接円の関係
- r=R*cos(pi/6)=R*0.8660254
- R=r/cos(pi/6)=r/0.8660254
結果は「6<=π<=7.999998」で正解範囲。概ね古代エジプトやバビロニア、インド、ギリシアの幾何学者達が挟み撃ち法で円周率を求める時はこの辺りから出発している。
統計言語Rによる作表例
target_size<-c("6^-1","6^-1","6^-1","6^-0.8394411","...","6^-0.08027941","6^0","6^0","6^0","6^0","6^0","6^0.08027895","...","6^0.7591625","6^1","6^1","6^1")
target_names<-c("6^-1","6^-1a1","6^-1a1*6","6^-0.8394411","...","6^-0.08027921","6^0a0","6^0a0*6","6^0","6^0a1","6^0a1*6","6^0.08027895","...","6^0.7591625","6^1a0","6^1a0*6","6^1")
target_values<-c("1/6=0.1666666","1/6*1.154701=0.1924502","0.1924502*6=1.154701","0.1924502*1.154701=0.2222224","...","-0.8660254","1.0","6.0","1.0","1.333333","1.333333*6=7.999998","1.333333*0.8660254=1.333334","...","4.500001*0.8660254=3.897115","6/1.333333=4.500001","4.500001*6=27.00001","6.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 | 6^-1 | 6^-1 | 1/6=0.1666666 |
2 | 6^-1 | 6^-1a1 | 1/6*1.154701=0.1924502 |
3 | 6^-1 | 6^-1a1*6 | 0.1924502*6=1.154701 |
4 | 6^-0.8394411 | 6^-0.8394411 | 0.1924502*1.154701=0.2222224 |
5 | ... | ... | ... |
6 | 6^-0.08027941 | 6^-0.08027921 | -0.8660254 |
7 | 6^0 | 6^0a0 | 1.0 |
8 | 6^0 | 6^0a0*6 | 6.0 |
9 | 6^0 | 6^0 | 1.0 |
10 | 6^0 | 6^0a1 | 1.333333 |
11 | 6^0 | 6^0a1*6 | 1.333333*6=7.999998 |
12 | 6^0.08027895 | 6^0.08027895 | 1.333333*0.8660254=1.333334 |
13 | ... | ... | ... |
14 | 6^0.7591625 | 6^0.7591625 | 4.500001*0.8660254=3.897115 |
15 | 6^1 | 6^1a0 | 6/1.333333=4.500001 |
16 | 6^1 | 6^1a0*6 | 4.500001*6=27.00001 |
17 | 6^1 | 6^1 | 6.0 |
「1の原始冪根級数(One Primitive Sone series)」の一環としてζ^6に従う以下のの六点が基本円(Basic circle,半径1,円周2π)に内接する正六角形を描く。
- 1=(1+0i)
- (1+sqrt(3)*(0+1i))/2
- (-1+sqrt(3)*(0+1i))/2
- -1=(-1+0i)
- (-1-sqrt(3)*(0+1i))/2
- (1-sqrt(3)*(0+1i))/2
統計言語Rによる作図例
#正6角形
library(rgl)
Rtime<-seq(0,2,length=7)
tr01<-c(1,(1+sqrt(3)*(0+1i))/2,(-1+sqrt(3)*(0+1i))/2,-1,(-1-sqrt(3)*(0+1i))/2,(1-sqrt(3)*(0+1i))/2,1)
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_theorem06<-function(x){
c0<-seq(0,2*pi,length=7)
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",""),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)),cex=c(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[1]),length=15)
line_scale_06_sin<-seq(sin(c0[6]),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]),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]), labels=c("ab","bc","cd","de","ef","fa",""),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)),cex=c(2,2,2,2,2,2,2))#塗りつぶし
polygon(c(c0_cos[1],line_scale_06_cos[x],line_scale_01_cos[x],c0_cos[1]), #x
c(c0_sin[1],line_scale_06_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))}
#アニメーション
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_theorem06(i)
}
}, interval = 0.1, movie.name = "TEST06.gif")
基本円(Basic circle)上に同心円を描く任意の正六角形内で正六角形を回すと、その片長の比は1と内接円や外接円のサイズ比cos(pi/6)=0.8660254の間を反復し続ける。