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

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

【正多辺形方程式情報倉庫】「単位円筒」から「トーラス構造」や「標準球面」へ。

f:id:ochimusha01:20191018074109g:plain

XY軸(円弧)

f:id:ochimusha01:20191018074133p:plain

ZX軸(Cos波)

f:id:ochimusha01:20191101090256p:plain


ZY軸(Sin波)

f:id:ochimusha01:20191101090408p:plain

円描写1周を1周期とする「単位円筒Unit Sylinder)」の概念はそれなりに美しいのですが「(無限小の辺長の無限大の辺数を有する円そのものCircle itselfをコンピューター上で扱う上で60角形と解釈する」といった立場を採用せざるを得ないXY面に対応するにはXZ面やYZ面でも「2π/60分割=π/30分割」といった考え方の導入が不可避となるのでした。

①とりあえず周期分割を増やすと、こういう外観に…とりあえずこれを「基本円柱Basic Cylinder)」と呼ぶ事にします。 

円柱を描く

libraly(rgl)
radians<-seq(0,120*pi,length=5000)
f0<-function(x){exp(x*(0+1i))}
Real<-Re(f0(radians))
Imaginal<-Im(f0(radians))
Rtime<-seq(0,2,length=3000)
plot3d(Real,Imaginal,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/test03") 

f:id:ochimusha01:20191101180804g:plain

②ところで所謂「ピタゴラスの定理」は対象数列に「曲率」を付与します。対象が線分の場合は所謂「半円」しか構成し得ませんが「基本円柱Basic Cylinder)」だと球面が構成されるのです。

球を描く

libraly(rgl)
radians<-seq(0,60*pi,length=3000)
f0<-function(x){exp(x*(0+1i))}
Real<-Re(f0(radians))
Imaginal<-Im(f0(radians))
Rtime<-seq(0,2,length=3000)
#工夫
f1<-function(x){sqrt(1-x^2)}
c0<-seq(-1,1,length=3000)
c1<-f1(c0)
#> plot(c0,c1,type="l",xlim=c(-1,1),ylim=c(0,1))
Real_c<-Real*c1
Imaginal_c<-Imaginal*c1

plot3d(Real_c,Imaginal_c,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/test01") 

f:id:ochimusha01:20190915101244g:plain

③ところでピタゴラスの定理に従って円柱に曲率を付与する方法は1つではありません。というよりむしろトーラス構造を形成する方向に作用するのが普通とすら言えそうなのです。

トーラスを描くその1 平面トーラス(折り返し円柱)を準備する。

libraly(rgl)
radians<-seq(0,60*pi,length=3000)
f0<-function(x){exp(x*(0+1i))}
Real<-Re(f0(radians))
Imaginal<-Im(f0(radians))
Rtime<-c(seq(0,1,length=1500),seq(1,0,length=1500))
plot3d(Real,Imaginal,Rtime,type="l",xlim=c(-1.5,1.5),ylim=c(-1.5,1.5),zlim=c(-1.5,1.5))

movie3d(spin3d(axis=c(0,0,1),rpm=5),duration=10,fps=25,movie="~/Desktop/test01") 

f:id:ochimusha01:20190915192200g:plain

トーラスを描くその2 平面トーラス(折り返し円柱)に曲率を設定。

libraly(rgl)
radians<-seq(0,60*pi,length=3000)
f0<-function(x){exp(x*(0+1i))}
r0<-f0(radians)
f1<-function(x){sqrt(1-x^2)}
c0<-seq(-1,1,length=1500)
c1<-c(f1(c0)/2,-1*f1(c0)/2)
#c1<-c(f1(c0),seq(0,0,length=1500))/2)
r1<-r0*(1+c1)
Real<-Re(r1)
Imaginal<-Im(r1)
Rtime<-c(seq(0,1,length=1500),seq(1,0,length=1500))
plot3d(Real,Imaginal,Rtime,type="l",xlim=c(-1.5,1.5),ylim=c(-1.5,1.5),zlim=c(-1.5,1.5))

movie3d(spin3d(axis=c(0,0,1),rpm=5),duration=10,fps=25,movie="~/Desktop/test02") 

f:id:ochimusha01:20190915193504g:plain

f:id:ochimusha01:20190915193539p:plain

トーラス描写の時系列分割(折り返し円柱に途中で真逆の曲率を設定)。

libraly(rgl)
radians<-seq(0,60*pi,length=3000)
f0<-function(x){exp(x*(0+1i))}
r0<-f0(radians)
f1<-function(x){sqrt(1-x^2)}
c0<-seq(-1,1,length=1500)
c1<-c(f1(c0)/2,-1*f1(c0)/2)
#c1<-c(f1(c0),seq(0,0,length=1500))/2)
r1<-r0*(1+c1)
Real<-Re(r1)
Imaginal<-Im(r1)
Rtime<-c(seq(2,1,length=1500),seq(1,0,length=1500))
plot3d(Real,Imaginal,Rtime,type="l",xlim=c(-1.5,1.5),ylim=c(-1.5,1.5),zlim=c(0,2))

movie3d(spin3d(axis=c(0,0,1),rpm=5),duration=10,fps=25,movie="~/Desktop/test02") 

f:id:ochimusha01:20191020093523g:plain

④それでは、所謂「正2辺形Regular bilateral)」の場合は?

「2辺形」を描く(空間上の見え方)

libraly(rgl)
#1個目
radians<-seq(0,60*pi,length=3000)
f0<-function(x){exp(x*(0+1i))}
Real<-Re(f0(radians))
Imaginal<-Im(f0(radians))
Rtime<-seq(0,2,length=3000)
#工夫
f1<-function(x){sqrt(1-x^2)}
c0<-seq(-1,1,length=3000)
c1<-f1(c0)
#> plot(c0,c1,type="l",xlim=c(-1,1),ylim=c(0,1))
Real_c<-Real*c1
Imaginal_c<-Imaginal*c1
#2個目
Rtime2<-seq(2,0,length=3000)
描画

plot3d(c(Real_c,Real_c),c(Imaginal_c,Imaginal_c),c(Rtime,Rtime2),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/test01") 

f:id:ochimusha01:20191020123018g:plain

ぴったり重なっているので色が濃くなった様にしか見えませんが「1方向から-1方向」と「-1方向から1方向へ」の2度書きしています。従って描画過程の時系列を明示すると以下の様に二段球面が現れるのです。
アスペクト比の関係でZ方向に潰れてしまっているのは御容赦の程を。

 「2辺形」を描く(描画過程の時系列明示)

libraly(rgl)
#1個目
radians<-seq(0,60*pi,length=3000)
f0<-function(x){exp(x*(0+1i))}
Real<-Re(f0(radians))
Imaginal<-Im(f0(radians))
Rtime<-seq(0,2,length=3000)
#工夫
f1<-function(x){sqrt(1-x^2)}
c0<-seq(-1,1,length=3000)
c1<-f1(c0)
#> plot(c0,c1,type="l",xlim=c(-1,1),ylim=c(0,1))
Real_c<-Real*c1
Imaginal_c<-Imaginal*c1
#2個目
Rtime2<-seq(2,4,length=3000)
描画

plot3d(c(Real_c,Real_c),c(Imaginal_c,Imaginal_c),c(Rtime,Rtime2),type="l",xlim=c(-1,1),ylim=c(-1,1),zlim=c(0,4))

movie3d(spin3d(axis=c(0,0,1),rpm=5),duration=10,fps=25,movie="~/Desktop/test01") 

f:id:ochimusha01:20191020122620g:plain

アスペクト比の自動調整機能のせいで饅頭を積み重ねたみたいに…