正方形(Square, 外角の大きさはpi/4=0.7853982ラジアンあるいは180/4=45度、内角の大きさは2*pi*(4-2)/16=0.7853982ラジアンあるいは180*(4-2)/4=157.5度)の場合
対象円に内接する正方形の対角線(外接円の一辺の長さ)をd(diagonal)とする。外接円に対する内接円の半径の比率は指数サイズ0.5すなわち対数比の半分(...1/root^x,,1/root,2/sqrt(root),root/root,sqrt(root),root,2*sqrt(root),root^x...)で推移し平面充填性(同じ図面で平面を埋め尽くす能力)に加え空間充填性(同じ立体で空間を埋め尽くす能力)も備える。立体としては正六面体(Regular tetrahedron, 辺数12、頂点数8)を構成し、その表面積は6*a^2、体積はa^3で表される。
- 2*tan(pi/4)=2
- 2*tan(pi/4)/cos(pi/4)=2.828427
- cos(pi/4)=0.7071068
一辺の長さがaの正方形に内接する円の半径r
- r=a*(2*tan(pi/4))=a/2
- a=r/(2*tan(pi/4))=r*2
一辺の長さがaの正方形に外接する円の半径R
- R=a/(2*tan(pi/4))/cos(pi/4)=a/2.828427
- a=R*(2*tan(pi/4))/cos(pi/4)=R*2.828427
一辺の長さがaの正方形の外接円の半径と内接円の関係
- r=R*cos(pi/4)=R/2
- R=r/cos(pi/4)=2r
結果は「5.656854<=π<= 8」で正解範囲…
統計言語Rによる作表例
target_size<-c("2^-1","2^-1","2^-1","2^-1","2^-0.5","2^-0.5","2^-0.5","2^-0.5","2^0","2^0","2^0","2^0","2^0.5","2^0.5","2^0.5","2^0.5","2^1")
target_names<-c("2^-1(2^-0.5r)","2^-1d=2^-1*4","2^-1a1=2^0a0","2^-1a1(2^-0.5a0)*4","2^-0.5(2^0r)","2^-0.5d=2^-0.5*4","2^-0.5a1=2^0a0","2^-1a1(2^0.5a0)*4","2^0(2^-0.5R,2^0.5r)","2^0d=2^0*4","2^0a1=2^0.5a0","2^0a1(2^0.5a0)*4","2^0.5(2^-0R,2^1r)","2^0.5d=2^0.5*4","2^0.5a1=2^1a0","2^0.5a1(2^0a0)*4","2^1(2^1-0.5R,2^0.5r)")
target_values<-c("0.5","1","sqrt(2)=1.414214","4sqrt(2)=5.656854","sqrt(2)/2=0.7071068","sqrt(2)=1.414214","1","4","1","2","sqrt(8)=2sqrt(2)=2.828427","sqrt(32)=4sqrt(2)=5.656854","sqrt(2)=1.414214","2sqrt(2)=2.828427","4","8","2")
Regula_falsi04<-data.frame(Target_size=target_size,Target_names=target_names,Target_values=target_values)
library(xtable)
print(xtable(Regula_falsi04), type = "html")
Target_size | Target_names | Target_values | |
---|---|---|---|
1 | 2^-1 | 2^-1(2^-0.5r) | 0.5 |
2 | 2^-1 | 2^-1d=2^-1*4 | 1 |
3 | 2^-1 | 2^-1a1=2^0a0 | sqrt(2)=1.414214 |
4 | 2^-1 | 2^-1a1(2^-0.5a0)*4 | 4sqrt(2)=5.656854 |
5 | 2^-0.5 | 2^-0.5(2^0r) | sqrt(2)/2=0.7071068 |
6 | 2^-0.5 | 2^-0.5d=2^-0.5*4 | sqrt(2)=1.414214 |
7 | 2^-0.5 | 2^-0.5a1=2^0a0 | 1 |
8 | 2^-0.5 | 2^-1a1(2^0.5a0)*4 | 4 |
9 | 2^0 | 2^0(2^-0.5R,2^0.5r) | 1 |
10 | 2^0 | 2^0d=2^0*4 | 2 |
11 | 2^0 | 2^0a1=2^0.5a0 | sqrt(8)=2sqrt(2)=2.828427 |
12 | 2^0 | 2^0a1(2^0.5a0)*4 | sqrt(32)=4sqrt(2)=5.656854 |
13 | 2^0.5 | 2^0.5(2^-0R,2^1r) | sqrt(2)=1.414214 |
14 | 2^0.5 | 2^0.5d=2^0.5*4 | 2sqrt(2)=2.828427 |
15 | 2^0.5 | 2^0.5a1=2^1a0 | 4 |
16 | 2^0.5 | 2^0.5a1(2^0a0)*4 | 8 |
17 | 2^1 | 2^1(2^1-0.5R,2^0.5r) | 2 |
「1の原始冪根級数(One Primitive Sone series)」の一環としてζ^4に従う以下の四点は基本円(Basic circle,半径1,円周2π)に内接する正方形を描く。
- 1=(1+0i)
- (0+1i)
- -1=(-1+0i)
- (0-1i)
統計言語Rによる作図例
#正方形
library(rgl)
Rtime<-seq(0,2,length=5)
tr01<-c(1,(0+1i),-1,(0-1i),1)
Real<-Re(tr01)
Imag<-Im(tr01)
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/test16")
基本円(Basic circle)上に同心円を描く任意の正方形内で正方形を回すと、その片長の比はsqrt(2):sqrt(2)と1:2の間を反復し続ける。その比は多層化された内接円と外接円のサイズ比に等しい。
正方形 統計言語Rによる実装例
Three_square_theorem04<-function(x){
c0<-c(0,pi/2,-1*pi,-1*pi/2,0)
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",""),col=c(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))
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[1]),length=15)
line_scale_04_sin<-seq(sin(c0[4]),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]),c(line_scale_01_sin[x],line_scale_02_sin[x],line_scale_03_sin[x],line_scale_04_sin[x]), labels=c("ab","bc","cd","da",""),col=c(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))
#塗りつぶし
polygon(c(c0_cos[1],line_scale_04_cos[x],line_scale_01_cos[x],c0_cos[1]), #x
c(c0_sin[1],line_scale_04_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))}
#アニメーション
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_theorem04(i)
}
}, interval = 0.1, movie.name = "TEST04.gif")
実はこれ位相0より始まるcos(θ)波とcos(pi/2+θ)=sin(θ)で90度(pi/2)位相をズラしたSin波を足し合わせた結果を90度(pi/2)単位で「サンプリング」して繰り返した内容。同心円単位で積層し、多層化されたトーラス(単torus, 複tori)を構築する。
統計言語Rによる「欲しいサンプリング結果」の作図
f0<-function(x){cos(x)+sin(x)}
plot(f0,xlim=c(0,pi/2),ylim=c(1,sqrt(2)),main="Expected Sampling results")
統計言語Rによる「サンプリング元」の作図
f0<-function(x){cos(x)}
plot(f0,col=rgb(0,0,1),xlim=c(0,2*pi),ylim=c(-1.5,1.5),main="Three square theorem",xlab="radian(π)",ylab="Amplitude")
par(new=T) #上書き
f1<-function(x){sin(x)}
plot(f1,col=rgb(0,1,0),xlim=c(0,2*pi),ylim=c(-1.5,1.5),main="",xlab="",ylab="")
par(new=T) #上書き
f2<-function(x){cos(x)+sin(x)}
plot(f2,col=rgb(1,0,0),xlim=c(0,2*pi),ylim=c(-1.5,1.5),main="",xlab="",ylab="")
par(new=T) #上書き
f3<-function(x){cos(x)*sin(x)}
plot(f3,col=c(125,125,125),xlim=c(0,2*pi),ylim=c(-1.5,1.5),main="",xlab="",ylab="")
par(new=T) #上書き
f4<-function(x){cos(x)^2+sin(x)^2}
plot(f4,col=rgb(0,0,0),xlim=c(0,2*pi),ylim=c(-1.5,1.5),main="",xlab="",ylab="")abline(v = pi/2)
legend("bottomright", legend=c("y=cos(θ)","y=sin(θ)","y=cos(θ)+sin(θ)","y=cos(θ)*sin(θ)","y=cos(θ)^2*sin(θ)^2"), lty=c(1,1,1,1,1), col=c(rgb(0,0,1),rgb(0,1,0),rgb(1,0,0),c(125,125,125),rgb(0,0,0)))
各平面トーラス(単torus, 複tori)における大円の半径(Mj=Major circle radius)と小円の半径(Mn=Minor circle radius)の関係はこうなっている。
状況から予想される平面トーラス遷移図
c0=seq(0,2*pi,length=9)
c1=c(sqrt(2),2,sqrt(2),2,sqrt(2),2,sqrt(2),2,sqrt(2))
c2=c(1,sqrt(2),1,sqrt(2),1,sqrt(2),1,sqrt(2),1)
c3=c(sqrt(2)/2,1,sqrt(2)/2,1,sqrt(2)/2,1,sqrt(2)/2,1,sqrt(2)/2)
plot(c0,c1,type="o",xlim=c(0,2*pi),ylim=c(sqrt(2)/2,2),main="Expected Multilayered Tori",ylab='x', xlab='y')
par(new=T) #上書き
plot(c0,c2,type="o",xlim=c(0,2*pi),ylim=c(sqrt(2)/2,2),main="",ylab='', xlab='')
par(new=T) #上書き
plot(c0,c3,type="o",xlim=c(0,2*pi),ylim=c(sqrt(2)/2,2),main="",ylab='', xlab='')
#外接円=内接円による境界線
abline(h=2,col=rgb(1,0,0))
abline(h=sqrt(2),col=rgb(0,1,0))
abline(h=1,col=rgb(0,0,1))
abline(h=1/sqrt(2),col=rgb(1,0,1))
abline(h=1/sqrt(2)^2,col=rgb(1,1,0))
#凡例
legend("bottomright", legend=c("Mj=2+Mn,Mn=√8/2","Mj=√2+Mn,Mn=(2-√2)/2","Mj=1+Mn,Mn=(√2-1)/2","Mj=√2/2+Mn,Mn=(1-√2/2)/2","Mj=1/2+Mn,Mn=(√2/2-1/2)/2"), lty=c(1,1,1,1,1), col=c(rgb(1,0,0),rgb(0,1,0),rgb(0,0,1),rgb(1,0,1),rgb(1,1,0)))
統計言語Rによる「サンプリング結果のマッピング」
R_time=seq(0,2*pi,length=400)
Smp_time=seq(0,pi/2,length=100)#標準円(半径1→sqrt(2))
f0<-function(x){cos(x)+cos(x-pi/2)}
S_data<-c(f0(Smp_time),f0(Smp_time),f0(Smp_time),f0(Smp_time))
plot(R_time,S_data,type="l",xlim=c(0,2*pi),ylim=c(0.5,2),main="Torus drawn by circumscribed and inscribed circle",ylab='Circumference(radian)', xlab='Circle radius')
#半径sqrt(2)→2
par(new=T) #上書き
S_data<-c(f0(Smp_time)*sqrt(2),f0(Smp_time)*sqrt(2),f0(Smp_time)*sqrt(2),f0(Smp_time)*sqrt(2))
plot(R_time,S_data,type="l",xlim=c(0,2*pi),ylim=c(0.5,2),ylab='', xlab='')#半径1→1/sqrt(2)
par(new=T) #上書き
S_data<-c(f0(Smp_time)/sqrt(2),f0(Smp_time)/sqrt(2),f0(Smp_time)/sqrt(2),f0(Smp_time)/sqrt(2))
plot(R_time,S_data,type="l",xlim=c(0,2*pi),ylim=c(0.5,2),ylab='', xlab='')#半径1/sqrt(2)→1/2
par(new=T) #上書き
S_data<-c(f0(Smp_time)/sqrt(2)^2,f0(Smp_time)/sqrt(2)^2,f0(Smp_time)/sqrt(2)^2,f0(Smp_time)/sqrt(2)^2)
plot(R_time,S_data,type="l",xlim=c(0,2*pi),ylim=c(0.5,2),ylab='', xlab='')
#外接円=内接円による境界線
abline(h=2,col=rgb(1,0,0))
abline(h=sqrt(2),col=rgb(0,1,0))
abline(h=1,col=rgb(0,0,1))
abline(h=1/sqrt(2),col=rgb(1,0,1))
abline(h=1/sqrt(2)^2,col=rgb(1,1,0))
#凡例
legend("bottomright", legend=c("Mj=2+Mn,Mn=√8/2","Mj=√2+Mn,Mn=(2-√2)/2","Mj=1+Mn,Mn=(√2-1)/2","Mj=√2/2+Mn,Mn=(1-√2/2)/2","Mj=1/2+Mn,Mn=(√2/2-1/2)/2"), lty=c(1,1,1,1,1), col=c(rgb(1,0,0),rgb(0,1,0),rgb(0,0,1),rgb(1,0,1),rgb(1,1,0)))
正方形 統計言語Rによる実装例(4進数)
Three_square_theorem04<-function(x){
c0<-c(0,pi/2,-1*pi,-1*pi/2,0)
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("00","10","20","30",""),col=c(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))
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[1]),length=15)
line_scale_04_sin<-seq(sin(c0[4]),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]),c(line_scale_01_sin[x],line_scale_02_sin[x],line_scale_03_sin[x],line_scale_04_sin[x]), labels=c("00-03","10-13","20-23","30-33",""),col=c(rgb(0,0,1),rgb(0,0,1),rgb(0,0,1),rgb(0,0,1),rgb(0,0,1)),cex=c(1.5,1.5,1.5,1.5,1.5))
#塗りつぶし
polygon(c(c0_cos[1],line_scale_04_cos[x],line_scale_01_cos[x],c0_cos[1]), #x
c(c0_sin[1],line_scale_04_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))}
#アニメーション
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_theorem04(i)
}
}, interval = 0.1, movie.name = "TEST04a.gif")
正方形 統計言語Rによる実装例(2進数)
Three_square_theorem04<-function(x){
c0<-c(0,pi/2,-1*pi,-1*pi/2,0)
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("000","010","100","110",""),col=c(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))
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[1]),length=15)
line_scale_04_sin<-seq(sin(c0[4]),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]),c(line_scale_01_sin[x],line_scale_02_sin[x],line_scale_03_sin[x],line_scale_04_sin[x]), labels=c("000-001","010-011","100-101","110-111",""),col=c(rgb(0,0,1),rgb(0,0,1),rgb(0,0,1),rgb(0,0,1),rgb(0,0,1)),cex=c(1.5,1.5,1.5,1.5,1.5))
#塗りつぶし
polygon(c(c0_cos[1],line_scale_04_cos[x],line_scale_01_cos[x],c0_cos[1]), #x
c(c0_sin[1],line_scale_04_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))}
#アニメーション
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_theorem04(i)
}
}, interval = 0.1, movie.name = "TEST04b.gif")