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

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

【多角形情報倉庫】正16角形(Regular hexagon)

正16角形Regular hexagon 外角の大きさはpi/16=0.1963495ラジアンあるいは180/16=22.5度、内角の大きさは2*pi*(16-2)/16=5.497787ラジアンあるいは180*(16-2)/16=157.5度)の場合

f:id:ochimusha01:20190920074838p:plain

 「1の原始冪根級数One Primitive Sone series)」の一環としてζ^16の答えとなる16点は基本円(Basic circle,半径1,円周2π)に内接する正16角形を描く。

#現時点では計算結果しか分からない。
Rtime<-seq(0,2,length=17)
tr01<-exp(seq(0,2*pi,length=17)*(0+1i))
tr01

  • 1.0000000+0.0000000i
  • 0.9238795+0.3826834i
  • 0.7071068+0.7071068i
  • 0.3826834+0.9238795i
  • 0.0000000+1.0000000i
  • -0.3826834+0.9238795i
  • -0.7071068+0.7071068i
  • -0.9238795+0.3826834i
  • -1.0000000+0.0000000i
  • -0.9238795-0.3826834i
  • -0.7071068-0.7071068i
  • -0.3826834-0.9238795i
  • 0.0000000-1.0000000i
  • 0.3826834-0.9238795i
  • 0.7071068-0.7071068i
  • 0.9238795-0.3826834i

統計言語Rによる作図例

library(rgl)
#正12角形

Rtime<-seq(0,2,length=17)
tr01<-exp(seq(0,2*pi,length=17)*(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/test012")  

f:id:ochimusha01:20190920091229g:plain

f:id:ochimusha01:20190920091303p:plain

正16角形 統計言語Rによる実装例01

Three_square_theorem16<-function(x){
c0<-seq(0,2*pi,length=17)
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","h","i","j","k","l","m","n","o","p",""),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),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),rgb(1,0,0)),cex=c(2,2,2,2,2,2,2,2,2,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[8]),length=15)
line_scale_07_sin<-seq(sin(c0[7]),sin(c0[8]),length=15)
line_scale_08_cos<-seq(cos(c0[8]),cos(c0[9]),length=15)
line_scale_08_sin<-seq(sin(c0[8]),sin(c0[9]),length=15)
line_scale_09_cos<-seq(cos(c0[9]),cos(c0[10]),length=15)
line_scale_09_sin<-seq(sin(c0[9]),sin(c0[10]),length=15)
line_scale_10_cos<-seq(cos(c0[10]),cos(c0[11]),length=15)
line_scale_10_sin<-seq(sin(c0[10]),sin(c0[11]),length=15)
line_scale_11_cos<-seq(cos(c0[11]),cos(c0[12]),length=15)
line_scale_11_sin<-seq(sin(c0[11]),sin(c0[12]),length=15)
line_scale_12_cos<-seq(cos(c0[12]),cos(c0[13]),length=15)
line_scale_12_sin<-seq(sin(c0[12]),sin(c0[13]),length=15)
line_scale_13_cos<-seq(cos(c0[13]),cos(c0[14]),length=15)
line_scale_13_sin<-seq(sin(c0[13]),sin(c0[14]),length=15)
line_scale_14_cos<-seq(cos(c0[14]),cos(c0[15]),length=15)
line_scale_14_sin<-seq(sin(c0[14]),sin(c0[15]),length=15)
line_scale_15_cos<-seq(cos(c0[15]),cos(c0[16]),length=15)
line_scale_15_sin<-seq(sin(c0[15]),sin(c0[16]),length=15)
line_scale_16_cos<-seq(cos(c0[16]),cos(c0[1]),length=15)
line_scale_16_sin<-seq(sin(c0[16]),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],line_scale_08_cos[x],line_scale_09_cos[x],line_scale_10_cos[x],line_scale_11_cos[x],line_scale_12_cos[x],line_scale_13_cos[x],line_scale_14_cos[x],line_scale_15_cos[x],line_scale_16_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],line_scale_08_sin[x],line_scale_09_sin[x],line_scale_10_sin[x],line_scale_11_sin[x],line_scale_12_sin[x],line_scale_13_sin[x],line_scale_14_sin[x],line_scale_15_sin[x],line_scale_16_sin[x]), labels=c("ab","bc","cd","de","ef","fg","gh","hi","ja","jk","kl","lm","mn","no","op","pa",""),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),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,2,2,2,2,2,2,2,2,2))

 #塗りつぶし
polygon(c(c0_cos[1],line_scale_16_cos[x],line_scale_01_cos[x],c0_cos[1]), #x
c(c0_sin[1],line_scale_16_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))

#塗りつぶし
polygon(c(c0_cos[8],line_scale_07_cos[x],line_scale_08_cos[x],c0_cos[8]), #x
c(c0_sin[8],line_scale_07_sin[x],line_scale_08_sin[x],c0_sin[8]), #y
density=c(30), #塗りつぶす濃度
angle=c(45),     #塗りつぶす斜線の角度
col=rgb(0,1,0))
#塗りつぶし
polygon(c(c0_cos[9],line_scale_08_cos[x],line_scale_09_cos[x],c0_cos[9]), #x
c(c0_sin[9],line_scale_08_sin[x],line_scale_09_sin[x],c0_sin[9]), #y
density=c(30), #塗りつぶす濃度
angle=c(45),     #塗りつぶす斜線の角度
col=rgb(0,1,0))
#塗りつぶし
polygon(c(c0_cos[10],line_scale_09_cos[x],line_scale_10_cos[x],c0_cos[10]), #x
c(c0_sin[10],line_scale_09_sin[x],line_scale_10_sin[x],c0_sin[10]), #y
density=c(30), #塗りつぶす濃度
angle=c(45),     #塗りつぶす斜線の角度
col=rgb(0,1,0))
#塗りつぶし
polygon(c(c0_cos[11],line_scale_10_cos[x],line_scale_11_cos[x],c0_cos[11]), #x
c(c0_sin[11],line_scale_10_sin[x],line_scale_11_sin[x],c0_sin[11]), #y
density=c(30), #塗りつぶす濃度
angle=c(45),     #塗りつぶす斜線の角度
col=rgb(0,1,0))

#塗りつぶし
polygon(c(c0_cos[12],line_scale_11_cos[x],line_scale_12_cos[x],c0_cos[12]), #x
c(c0_sin[12],line_scale_11_sin[x],line_scale_12_sin[x],c0_sin[12]), #y
density=c(30), #塗りつぶす濃度
angle=c(45),     #塗りつぶす斜線の角度
col=rgb(0,1,0)) 
#塗りつぶし
polygon(c(c0_cos[13],line_scale_12_cos[x],line_scale_13_cos[x],c0_cos[13]), #x
c(c0_sin[13],line_scale_12_sin[x],line_scale_13_sin[x],c0_sin[13]), #y
density=c(30), #塗りつぶす濃度
angle=c(45),     #塗りつぶす斜線の角度
col=rgb(0,1,0)) 
#塗りつぶし
polygon(c(c0_cos[14],line_scale_13_cos[x],line_scale_14_cos[x],c0_cos[14]), #x
c(c0_sin[14],line_scale_13_sin[x],line_scale_14_sin[x],c0_sin[14]), #y
density=c(30), #塗りつぶす濃度
angle=c(45),     #塗りつぶす斜線の角度
col=rgb(0,1,0)) 
#塗りつぶし
polygon(c(c0_cos[15],line_scale_14_cos[x],line_scale_15_cos[x],c0_cos[15]), #x
c(c0_sin[15],line_scale_14_sin[x],line_scale_15_sin[x],c0_sin[15]), #y
density=c(30), #塗りつぶす濃度
angle=c(45),     #塗りつぶす斜線の角度
col=rgb(0,1,0)) 
#塗りつぶし
polygon(c(c0_cos[16],line_scale_15_cos[x],line_scale_16_cos[x],c0_cos[16]), #x
c(c0_sin[16],line_scale_15_sin[x],line_scale_16_sin[x],c0_sin[16]), #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_theorem16(i)
}
}, interval = 0.1, movie.name = "TEST016.gif") 

f:id:ochimusha01:20190919063929g:plain

基本円(Basic circle)上に同心円を描く任意の正16形内で正16角形を回すと、その片長の比は1と内接円や外接円のサイズ比cos(pi/16)=0.9807853の間を反復し続ける。

f:id:ochimusha01:20191018155559p:plain

 

正16角形 統計言語Rによる実装例(16進数)

Three_square_theorem16<-function(x){
c0<-seq(0,2*pi,length=17)
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","40","50","60","70","80","90","a0","b0","c0","d0","e0","f0",""),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),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),rgb(1,0,0)),cex=c(2,2,2,2,2,2,2,2,2,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[8]),length=15)
line_scale_07_sin<-seq(sin(c0[7]),sin(c0[8]),length=15)
line_scale_08_cos<-seq(cos(c0[8]),cos(c0[9]),length=15)
line_scale_08_sin<-seq(sin(c0[8]),sin(c0[9]),length=15)
line_scale_09_cos<-seq(cos(c0[9]),cos(c0[10]),length=15)
line_scale_09_sin<-seq(sin(c0[9]),sin(c0[10]),length=15)
line_scale_10_cos<-seq(cos(c0[10]),cos(c0[11]),length=15)
line_scale_10_sin<-seq(sin(c0[10]),sin(c0[11]),length=15)
line_scale_11_cos<-seq(cos(c0[11]),cos(c0[12]),length=15)
line_scale_11_sin<-seq(sin(c0[11]),sin(c0[12]),length=15)
line_scale_12_cos<-seq(cos(c0[12]),cos(c0[13]),length=15)
line_scale_12_sin<-seq(sin(c0[12]),sin(c0[13]),length=15)
line_scale_13_cos<-seq(cos(c0[13]),cos(c0[14]),length=15)
line_scale_13_sin<-seq(sin(c0[13]),sin(c0[14]),length=15)
line_scale_14_cos<-seq(cos(c0[14]),cos(c0[15]),length=15)
line_scale_14_sin<-seq(sin(c0[14]),sin(c0[15]),length=15)
line_scale_15_cos<-seq(cos(c0[15]),cos(c0[16]),length=15)
line_scale_15_sin<-seq(sin(c0[15]),sin(c0[16]),length=15)
line_scale_16_cos<-seq(cos(c0[16]),cos(c0[1]),length=15)
line_scale_16_sin<-seq(sin(c0[16]),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],line_scale_08_cos[x],line_scale_09_cos[x],line_scale_10_cos[x],line_scale_11_cos[x],line_scale_12_cos[x],line_scale_13_cos[x],line_scale_14_cos[x],line_scale_15_cos[x],line_scale_16_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],line_scale_08_sin[x],line_scale_09_sin[x],line_scale_10_sin[x],line_scale_11_sin[x],line_scale_12_sin[x],line_scale_13_sin[x],line_scale_14_sin[x],line_scale_15_sin[x],line_scale_16_sin[x]), labels=c("00-0f","10-1f","20-2f","30-3f","40-4f","50-5f","60-6f","70-7f","80-8f","90-9f","a0-af","b0-bf","c0-cf","d0-df","e0-ef","f0-ff",""),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),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(1.5,1.5,1.5,1.5,1.5,1.5,1.5,1.5,1.5,1.5,1.5,1.5,1.5,1.5,1.5,1.5))

 #塗りつぶし
polygon(c(c0_cos[1],line_scale_16_cos[x],line_scale_01_cos[x],c0_cos[1]), #x
c(c0_sin[1],line_scale_16_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))

#塗りつぶし
polygon(c(c0_cos[8],line_scale_07_cos[x],line_scale_08_cos[x],c0_cos[8]), #x
c(c0_sin[8],line_scale_07_sin[x],line_scale_08_sin[x],c0_sin[8]), #y
density=c(30), #塗りつぶす濃度
angle=c(45),     #塗りつぶす斜線の角度
col=rgb(0,1,0))
#塗りつぶし
polygon(c(c0_cos[9],line_scale_08_cos[x],line_scale_09_cos[x],c0_cos[9]), #x
c(c0_sin[9],line_scale_08_sin[x],line_scale_09_sin[x],c0_sin[9]), #y
density=c(30), #塗りつぶす濃度
angle=c(45),     #塗りつぶす斜線の角度
col=rgb(0,1,0))
#塗りつぶし
polygon(c(c0_cos[10],line_scale_09_cos[x],line_scale_10_cos[x],c0_cos[10]), #x
c(c0_sin[10],line_scale_09_sin[x],line_scale_10_sin[x],c0_sin[10]), #y
density=c(30), #塗りつぶす濃度
angle=c(45),     #塗りつぶす斜線の角度
col=rgb(0,1,0))
#塗りつぶし
polygon(c(c0_cos[11],line_scale_10_cos[x],line_scale_11_cos[x],c0_cos[11]), #x
c(c0_sin[11],line_scale_10_sin[x],line_scale_11_sin[x],c0_sin[11]), #y
density=c(30), #塗りつぶす濃度
angle=c(45),     #塗りつぶす斜線の角度
col=rgb(0,1,0))

#塗りつぶし
polygon(c(c0_cos[12],line_scale_11_cos[x],line_scale_12_cos[x],c0_cos[12]), #x
c(c0_sin[12],line_scale_11_sin[x],line_scale_12_sin[x],c0_sin[12]), #y
density=c(30), #塗りつぶす濃度
angle=c(45),     #塗りつぶす斜線の角度
col=rgb(0,1,0)) 
#塗りつぶし
polygon(c(c0_cos[13],line_scale_12_cos[x],line_scale_13_cos[x],c0_cos[13]), #x
c(c0_sin[13],line_scale_12_sin[x],line_scale_13_sin[x],c0_sin[13]), #y
density=c(30), #塗りつぶす濃度
angle=c(45),     #塗りつぶす斜線の角度
col=rgb(0,1,0)) 
#塗りつぶし
polygon(c(c0_cos[14],line_scale_13_cos[x],line_scale_14_cos[x],c0_cos[14]), #x
c(c0_sin[14],line_scale_13_sin[x],line_scale_14_sin[x],c0_sin[14]), #y
density=c(30), #塗りつぶす濃度
angle=c(45),     #塗りつぶす斜線の角度
col=rgb(0,1,0)) 
#塗りつぶし
polygon(c(c0_cos[15],line_scale_14_cos[x],line_scale_15_cos[x],c0_cos[15]), #x
c(c0_sin[15],line_scale_14_sin[x],line_scale_15_sin[x],c0_sin[15]), #y
density=c(30), #塗りつぶす濃度
angle=c(45),     #塗りつぶす斜線の角度
col=rgb(0,1,0)) 
#塗りつぶし
polygon(c(c0_cos[16],line_scale_15_cos[x],line_scale_16_cos[x],c0_cos[16]), #x
c(c0_sin[16],line_scale_15_sin[x],line_scale_16_sin[x],c0_sin[16]), #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_theorem16(i)
}
}, interval = 0.1, movie.name = "TEST016b.gif") 

f:id:ochimusha01:20190919065253g:plain

正16角形 統計言語Rによる実装例(2進数)

Three_square_theorem16<-function(x){
c0<-seq(0,2*pi,length=17)
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("00000","00010","00100","00110","01000","01010","01100","01110","10000","10010","10100","10110","11000","11010","11100","11110",""),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),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),rgb(1,0,0)),cex=c(1.5,1.5,1.5,1.5,1.5,1.5,1.5,1.5,1.5,1.5,1.5,1.5,1.5,1.5,1.5,1.5,1.5))
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[8]),length=15)
line_scale_07_sin<-seq(sin(c0[7]),sin(c0[8]),length=15)
line_scale_08_cos<-seq(cos(c0[8]),cos(c0[9]),length=15)
line_scale_08_sin<-seq(sin(c0[8]),sin(c0[9]),length=15)
line_scale_09_cos<-seq(cos(c0[9]),cos(c0[10]),length=15)
line_scale_09_sin<-seq(sin(c0[9]),sin(c0[10]),length=15)
line_scale_10_cos<-seq(cos(c0[10]),cos(c0[11]),length=15)
line_scale_10_sin<-seq(sin(c0[10]),sin(c0[11]),length=15)
line_scale_11_cos<-seq(cos(c0[11]),cos(c0[12]),length=15)
line_scale_11_sin<-seq(sin(c0[11]),sin(c0[12]),length=15)
line_scale_12_cos<-seq(cos(c0[12]),cos(c0[13]),length=15)
line_scale_12_sin<-seq(sin(c0[12]),sin(c0[13]),length=15)
line_scale_13_cos<-seq(cos(c0[13]),cos(c0[14]),length=15)
line_scale_13_sin<-seq(sin(c0[13]),sin(c0[14]),length=15)
line_scale_14_cos<-seq(cos(c0[14]),cos(c0[15]),length=15)
line_scale_14_sin<-seq(sin(c0[14]),sin(c0[15]),length=15)
line_scale_15_cos<-seq(cos(c0[15]),cos(c0[16]),length=15)
line_scale_15_sin<-seq(sin(c0[15]),sin(c0[16]),length=15)
line_scale_16_cos<-seq(cos(c0[16]),cos(c0[1]),length=15)
line_scale_16_sin<-seq(sin(c0[16]),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],line_scale_08_cos[x],line_scale_09_cos[x],line_scale_10_cos[x],line_scale_11_cos[x],line_scale_12_cos[x],line_scale_13_cos[x],line_scale_14_cos[x],line_scale_15_cos[x],line_scale_16_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],line_scale_08_sin[x],line_scale_09_sin[x],line_scale_10_sin[x],line_scale_11_sin[x],line_scale_12_sin[x],line_scale_13_sin[x],line_scale_14_sin[x],line_scale_15_sin[x],line_scale_16_sin[x]), labels=c("00000-00001","00010-00011","00100-00101","00110-00111","01000-01001","01010-01011","01100-01101","01110-01111","10000-10001","10010-10011","10100-10101","10110-10111","11000-11001","11010-11011","11100-11101","11110-11111",""),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),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(1.3,1.3,1.3,1.3,1.3,1.3,1.3,1.3,1.3,1.3,1.3,1.3,1.3,1.3,1.3,1.3,1.3))

 #塗りつぶし
polygon(c(c0_cos[1],line_scale_16_cos[x],line_scale_01_cos[x],c0_cos[1]), #x
c(c0_sin[1],line_scale_16_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))

#塗りつぶし
polygon(c(c0_cos[8],line_scale_07_cos[x],line_scale_08_cos[x],c0_cos[8]), #x
c(c0_sin[8],line_scale_07_sin[x],line_scale_08_sin[x],c0_sin[8]), #y
density=c(30), #塗りつぶす濃度
angle=c(45),     #塗りつぶす斜線の角度
col=rgb(0,1,0))
#塗りつぶし
polygon(c(c0_cos[9],line_scale_08_cos[x],line_scale_09_cos[x],c0_cos[9]), #x
c(c0_sin[9],line_scale_08_sin[x],line_scale_09_sin[x],c0_sin[9]), #y
density=c(30), #塗りつぶす濃度
angle=c(45),     #塗りつぶす斜線の角度
col=rgb(0,1,0))
#塗りつぶし
polygon(c(c0_cos[10],line_scale_09_cos[x],line_scale_10_cos[x],c0_cos[10]), #x
c(c0_sin[10],line_scale_09_sin[x],line_scale_10_sin[x],c0_sin[10]), #y
density=c(30), #塗りつぶす濃度
angle=c(45),     #塗りつぶす斜線の角度
col=rgb(0,1,0))
#塗りつぶし
polygon(c(c0_cos[11],line_scale_10_cos[x],line_scale_11_cos[x],c0_cos[11]), #x
c(c0_sin[11],line_scale_10_sin[x],line_scale_11_sin[x],c0_sin[11]), #y
density=c(30), #塗りつぶす濃度
angle=c(45),     #塗りつぶす斜線の角度
col=rgb(0,1,0))

#塗りつぶし
polygon(c(c0_cos[12],line_scale_11_cos[x],line_scale_12_cos[x],c0_cos[12]), #x
c(c0_sin[12],line_scale_11_sin[x],line_scale_12_sin[x],c0_sin[12]), #y
density=c(30), #塗りつぶす濃度
angle=c(45),     #塗りつぶす斜線の角度
col=rgb(0,1,0)) 
#塗りつぶし
polygon(c(c0_cos[13],line_scale_12_cos[x],line_scale_13_cos[x],c0_cos[13]), #x
c(c0_sin[13],line_scale_12_sin[x],line_scale_13_sin[x],c0_sin[13]), #y
density=c(30), #塗りつぶす濃度
angle=c(45),     #塗りつぶす斜線の角度
col=rgb(0,1,0)) 
#塗りつぶし
polygon(c(c0_cos[14],line_scale_13_cos[x],line_scale_14_cos[x],c0_cos[14]), #x
c(c0_sin[14],line_scale_13_sin[x],line_scale_14_sin[x],c0_sin[14]), #y
density=c(30), #塗りつぶす濃度
angle=c(45),     #塗りつぶす斜線の角度
col=rgb(0,1,0)) 
#塗りつぶし
polygon(c(c0_cos[15],line_scale_14_cos[x],line_scale_15_cos[x],c0_cos[15]), #x
c(c0_sin[15],line_scale_14_sin[x],line_scale_15_sin[x],c0_sin[15]), #y
density=c(30), #塗りつぶす濃度
angle=c(45),     #塗りつぶす斜線の角度
col=rgb(0,1,0)) 
#塗りつぶし
polygon(c(c0_cos[16],line_scale_15_cos[x],line_scale_16_cos[x],c0_cos[16]), #x
c(c0_sin[16],line_scale_15_sin[x],line_scale_16_sin[x],c0_sin[16]), #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_theorem16(i)
}
}, interval = 0.1, movie.name = "TEST016c.gif") 

f:id:ochimusha01:20190920092813g:plain