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

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

【微積分情報倉庫】半径から円や球表面や球に

統計言語Rによる検証例

#半径rの円の面積(pi*r^2)をrで微分(Differential)すると円周の長さ(2*pi*r)となる。
D01<-expression(pi*r^2)
D(D01,"r")
pi * (2 * r)

#半径rの球の体積(4/3*pi*r^3)をrで微分(Differential)すると球の表面積(4*pi*r^2)となる。
D02<-expression(4/3*pi*r^3)
D(D02,"r")
4/3 * pi * (3 * r^2)

汎用計算機代数ソフトウェア"Yacas"による検証例

Yacas - Wikipedia

GNU General Public License にしたがった利用と配布が認められている汎用計算機代数アプリケーションのフリーソフトウェア。名前は Yet Another Computer Algebra System から来ている。

計算機代数の演算を行うシステムであるため、数式の記号操作ができる。また記号計算および任意精度の数値計算を行うための独自のプログラミング言語処理系を備えている。多くの数式処理操作を実装したスクリプトのライブラリを持っており、新たに実装したアルゴリズムの追加が容易に行えるようになっている。スクリプト言語および実装されている機能とアルゴリズムについての文書が多数用意されている。

 ライブラリRyacasを使用した統計言語Rでの実証例

#ライブラリ読み込み
library(Ryacas)

#半径rの球の体積(4/3*pi*r^3)をrで微分(Differential)すると球の表面積(4*pi*r^2)となる。

yac("D(r) 4/3 * pi * r^3")
[1] "r^2*4*pi"

#逆に球の表面積(4*pi*r^2)をrで積分(Integrate)すると半径rの球の体積(4/3*pi*r^3)となる。
yac("Integrate(r) r^2 * (4 * pi)")
[1] "(r^3*4*pi)/3"
#半径rの円の面積(pi*r^2)をrで微分(Differential)すると円周の長さ(2*pi*r)となる。
yac("D(r) pi * r^2")
[1] "pi*2*r"
#逆に円周の長さ(2*pi*r)をrで積分(Integrate)すると半径rの円の面積(pi*r^2)になる。
yac("Integrate(r) pi * (2 * r)")
[1] "pi*r^2"

この数理モデルにおける半径rの球の体積と球の表面積の関係は「同心球の積層」 、円の面積と円周の長さの関係は「同心円の積層」というイメージ。

オイラーの原始量Euler's primitive sweep)」は、それこそ人間未満の生物に起源を有する様な粗雑な思考様式なので「とりあえず長さ1とみなした棒をグルグル振り回すと、その先端が円や球を描く」くらいの考え方しか出来ません。

統計言語Rによる作画例(線分から円の面積へ)複素数

#複素平面(球面)
Circle_Divide<-60 #円分割数

Complex_plane01<-function(x){

#グラフのスケール決定
Graph_scale_x<-c(-1,1)
Graph_scale_y<-c(-1,1)
#円弧描写の準備
theta <- seq(0,2*pi,length=Circle_Divide)
cercle01<-exp(theta*(0+1i))
crcl_r<-Re(cercle01)
crcle_i<-Im(cercle01)
#塗りつぶし準備
segC<-rgb(0,1,0)
#円弧描写
plot(crcl_r, crcle_i,asp=1,xlim=Graph_scale_x,ylim=Graph_scale_y,type="l",col=rgb(0,0,0), main="From Radius to Circle", xlab="Real numbers", ylab="Imaginary numbers")

#インジケーターと塗り潰し

segments(crcl_r[x],crcle_i[x],0,0,col=segC)
polygon(c(crcl_r[1:x],0), #x
c(crcle_i[1:x],0), #y
density=c(30), #塗りつぶす濃度
angle=c(45),     #塗りつぶす斜線の角度
col=segC)  #塗りつぶす色

 }

 #アニメーションさせてみる。

library("animation")
TC00=seq(0,2*pi,length=30)
TC01<-round(TC00/(2*pi)*Circle_Divide, digits = 0)
Time_Code<-TC01[TC01>=1 & TC01<=60 ]
saveGIF({
for (i in Time_Code){
  Complex_plane01(i)
}
}, interval = 0.1, movie.name = "FRC01.gif")

f:id:ochimusha01:20191010031846g:plain

統計言語Rによる作画例(緯度と経度の回転)

#複素平面(球面)
Circle_Divide<-60 #円分割数
Complex_plane01<-function(x){

#グラフのスケール決定
Graph_scale_x<-c(-1,1)
Graph_scale_y<-c(-1,1)
#円弧描写の準備
theta <- seq(0,2*pi,length=Circle_Divide)
cercle01<-exp(theta*(0+1i))
crcl_r<-Re(cercle01)
crcl_i<-Im(cercle01)

#XY軸沿いの回転
xy_radian<-Re(x)
XY_Rotation_ratio<-cos(2*xy_radian/Circle_Divide*2*pi)/2+0.5
XYR_cos=crcl_r
XYR_sin=crcl_i*XY_Rotation_ratio

#塗り潰し色(「右」が緑、「左」が赤
ifelse*1
#Z軸沿いの回転
z_radian<-Im(x)
Z_Rotation_ratio<-z_radian/Circle_Divide*pi*2
XYZ_Rotation<-complex(real=XYR_cos,imaginary=XYR_sin)*(cos(Z_Rotation_ratio)+sin(Z_Rotation_ratio)*(0+1i))
XYZ_Rotation_cos<-Re(XYZ_Rotation)
XYZ_Rotation_sin<-Im(XYZ_Rotation)

#Z軸沿いの回転(インジケーター)

ing<-complex(real=0,imaginary=crcl_i[xy_radian])*(cos(Z_Rotation_ratio)+sin(Z_Rotation_ratio)*(0+1i))

Ing_r<-Re(ing)
Ing_i<-Im(ing) 

#円弧描写
plot(crcl_r, crcl_i,asp=1,xlim=Graph_scale_x,ylim=Graph_scale_y,type="l",col=rgb(0,0,0), main="Latitude & Longitude", xlab="Real numbers", ylab="Imaginary numbers")
par(new=T)#上書き指定

#円弧の描写(回転)
plot(XYZ_Rotation_cos,XYZ_Rotation_sin,asp=1,xlim=Graph_scale_x,ylim=Graph_scale_y,type="l",main="", xlab="", ylab="")
segments(Ing_r,Ing_i,0,0,col=LR_color,lwd=2)
text(Ing_r,Ing_i,"x",col=LR_color)
text(0,0,"x",col=LR_color)
#円の塗り潰し
polygon(XYZ_Rotation_cos, #x
XYZ_Rotation_sin, #y
density=c(50*(1-XY_Rotation_ratio)), #塗りつぶす濃度
angle=c(45),     #塗りつぶす斜線の角度
col=LR_color)  #塗りつぶす色
}

X軸のみ回す。
f:id:ochimusha01:20191011021040g:plain
Y軸のみ回す。

library("animation")
#アニメーションさせてみる。
TC00=seq(0,2*pi,length=Circle_Divide/2)
TC01<-round(TC00/(2*pi)*Circle_Divide, digits = 0)
TC02<-TC01[TC01>=1 & TC01<=Circle_Divide ]
Time_Code<-complex(re=TC02, im=rep(Circle_Divide/4,length=Circle_Divide/2))
saveGIF({
for (i in Time_Code){
  Complex_plane01(i)
}
}, interval = 0.1, movie.name = "LaLo02.gif")

f:id:ochimusha01:20191011160920g:plain

Z軸のみ回す(ジンバルロック問題のせいで回って見えない)。

f:id:ochimusha01:20191011074905g:plain

ここで合わせ技を投入?


 

 

*1:xy_radian%/%(Circle_Divide/4)==1 ||xy_radian%/%(Circle_Divide/4)==2),LR_color<-rgb(1,0,0),LR_color<-rgb(0,1,0

【多角形方程式情報倉庫】「ジンバルロック問題」とは何か①

f:id:ochimusha01:20191011182957j:plain

とりあえず現在取り掛かってるプログラムが以下。

  • これまで積み上げてきた右手法に基づく座標体系では「X軸=前後」「Y軸=上下」となるので自然な拡張として「Z軸=左右」となる。
  • 画面上では重ねて表示する事しか出来ないので、航空機のナビゲーション・ライトの規定に従って「右=緑」「左=赤」なる表示方法を採用する。
続きを読む

【記述統計情報倉庫】フーリエ変換の記述統計面③ 「アルファでもありオメガでもある単位円」について

f:id:ochimusha01:20191004101422j:plain

以下をまとめる過程で「単位円Unit Circle、半径1の円弧はある意味αアルファであり、かつΩオメガであると呼ばれる条件を満たしている」なる知見に到達しました。

ΑΩ(アルファオメガ) - Wikipedia

新約聖書に現れる語句。厳密に言えば聖書にこの形では現れていないが、しばしば「ΑΩ」もしくは、「アルファとオメガ」に相当する各国語(たとえば、ラテン語: Alpha et Omega、英語: Alpha and Omega)として言及される。

新約聖書ヨハネの黙示録1章8節、21章6節、22章13節)」に、主の言葉「私はアルファであり、オメガであるコイネーギリシャ語: τὸ α καὶ τὸ ω; 英語: I am the Alpha and the Omega)」として現れる。なお21:6と22:13ではこのフレーズの後に「最初であり、最後である」と続く。

意味ギリシャ文字の最初の文字Α(アルファ)と、最後の文字Ω(オメガ)が並べられており、最初と最後、すなわち、「全て」「永遠」という意味を持つ。

同じ意味で、「A to Z」「A-Z」「AZ」などと、表記されることがある。

もちろん「(ネイピア数eに拠る自然指数・対数関数、究極の幾何図形たる円の拠る円周率π、そしてそれぞれがある意味数の極限たる虚数と負の符号と1の全部入り」と称されるオイラーの等式e^πi=-1を図形的にコンパクトに体現してるのがこの「単位円Unit Circle)」なる概念の本質である以上、今更別に新しい考え方を提言してる訳でもない訳ですが…

続きを読む

【旧版諸概念情報倉】オイラーの原始量(Euler's primitive sweep)について。

ある意味、私にとってのアルファにしてオメガ。

f:id:ochimusha01:20190501174943j:plain

ΑΩ(アルファオメガ) - Wikipedia

新約聖書に現れる語句。厳密に言えば聖書にこの形では現れていないが、しばしば「ΑΩ」もしくは、「アルファとオメガ」に相当する各国語(たとえば、ラテン語: Alpha et Omega、英語: Alpha and Omega)として言及される。

新約聖書ヨハネの黙示録1章8節、21章6節、22章13節)」に、主の言葉「私はアルファであり、オメガであるコイネーギリシャ語: τὸ α καὶ τὸ ω; 英語: I am the Alpha and the Omega)」として現れる。なお21:6と22:13ではこのフレーズの後に「最初であり、最後である」と続く。

意味ギリシャ文字の最初の文字Α(アルファ)と、最後の文字Ω(オメガ)が並べられており、最初と最後、すなわち、「全て」「永遠」という意味を持つ。

同じ意味で、「A to Z」「A-Z」「AZ」などと、表記されることがある。

続きを読む

【記述統計情報倉庫】フーリエ変換の記述統計面② とりあえず「極座標系ヒストグラム表示」について。

単位円Unut Circle、半径1の円弧)」は「直交座標系Rectangular coordinate system/Orthogonal coordinate system)」3Dヒストグラムにおいては「円周上に観測される出現頻度1の点の集合」、「極座標Polar coordinates system)」ヒストグラムにおいては「(観測単位に対応する数量の長さ1の線の集合」と観測されます。

f:id:ochimusha01:20191003022548g:plain

f:id:ochimusha01:20191003055756p:plain

この観点から「(正弦波の足し合わせだけであらゆる波形を再現するフーリエ解析による波形合成過程」を観察してみました。直交座標系3Dヒストグラムによる観察結果は以下。

ここでは極座標ヒストグラムによる観察結果をまとめてみたいと思います。
*周期2の円弧の半径は0.5である点に注意。グラフを見ても分かる通り、半径未満となる線分は存在しないので一番左端のバーは常に「(0-半径を含む)原点間近のグループ」を表示している。

続きを読む

【記述統計情報倉庫】フーリエ変換の記述統計面① とりあえず「直交座標系3Dヒストグラム表示」について。

単位円Unit Circle=半径1の円弧)そのものの統計学的特性、特にヒストグラムhistogram)上への現れ方の描画結果はかなりの衝撃です。

要するに式に表すと(e^θi)t=(cos(θ)+sin(θi))となる図形を引き渡してみたのですが…

f:id:ochimusha01:20190930000257g:plain

f:id:ochimusha01:20190929234210p:plain

直交座標上には綺麗な三面図が出現…

X-Y座標(円弧面)

f:id:ochimusha01:20191003022548g:plain

X-Z座標Cos波面フーリエ変換における「偶数系波形の顕現面」。

f:id:ochimusha01:20191003040401g:plain

Y-Z座標Sin波面フーリエ変換における「奇数系波形の顕現面」。

f:id:ochimusha01:20191003040543g:plain

一方、ある種の線微分的観点から「長さ1の半径の集合体」と見ると…

f:id:ochimusha01:20191003055756p:plain

  class frequency
1 0 ~ 1 60

かかる徹底的なまでの「沈黙」が「あらゆる波形を正弦波の重ね合わせによって合成するフーリエ解析Fourier analysis)によって破られる訳です。果たしてどんな景色が広がる事になるのでしょう?

続きを読む