「諸概念の迷宮(Things got frantic)」用語集

本編で頻繁に使うロジックと関連用語のまとめ。

【多角形情報倉庫】正04角形(Square)

正方形Square, 外角の大きさはpi/4=0.7853982ラジアンあるいは180/4=45度、内角の大きさは2*pi*(4-2)/16=0.7853982ラジアンあるいは180*(4-2)/4=157.5度の場合

f:id:ochimusha01:20190818001745p:plain

対象円に内接する正方形の対角線(外接円の一辺の長さ)を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")

f:id:ochimusha01:20190907222058g:plain

f:id:ochimusha01:20190907222132p:plain

基本円(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") 

f:id:ochimusha01:20190918061420g:plain

実はこれ位相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") 

f:id:ochimusha01:20190919155431p:plain

 統計言語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)))

f:id:ochimusha01:20190919130756p:plain

各平面トーラス(単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))) 

f:id:ochimusha01:20190919182043p:plain
統計言語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))) 

f:id:ochimusha01:20190919145255p:plain

正方形 統計言語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") 

f:id:ochimusha01:20190920100347g:plain

正方形 統計言語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") 

f:id:ochimusha01:20190920100754g:plain