面白い問題おしえて~な 31問目at MATH
面白い問題おしえて~な 31問目 - 暇つぶし2ch891:132人目の素数さん
20/03/18 14:27:28 Tu49ygg5.net
>>836

数理はさっぱりわからないんだが、Wikipediaによれば正規分布に従う3変数から球面の一様分布座標が作れるらしい。
x1,x2,x3~Norm(0,1) で r=√(x1^2+x2^2+x3^2)として
(x1/r,x2/r,x3/r)が単位球面の一様分布になるという。

URLリンク(ja.wikipedia.org)
Marsaglia(1972)
URLリンク(projecteuclid.org)

実装してみた。
図示すると>836と同じく、x,y,zが一様分布して、球面の一様分布しているようにみえる。

vertex <- function(){ # xi ~ Norm(0,1) , xi/√(Σxi^2)
v=rnorm(3,0,1) # 正規分布N(0,1)する3個からなるベクトル v
v/sqrt(sum(v^2)) # v の長さで割る
}

vtx=replicate(5000,vertex())
par(mfrow=c(3,1))
x=vtx[1,] ; hist(x,col='pink')
y=vtx[2,] ; hist(y,col='orange')
z=vtx[3,] ; hist(z,col='darkgreen')
rgl::plot3d(x,y,z, col='slateblue')
par(mfrow=c(1,1))

# 四面体の体積
sim <- function(r=1,print=F){
v4=replicate(4,vertex()) # 4点の直交座標
if(print) print(v4)
abs(det(v4[,2:4]-v4[,1]))/6 # 四面体の体積
}
k=1e5
tetra=replicate(k,sim()) # k回のシミュレーション
mean(tetra)
summary(tetra)
BEST::plotPost(tetra)

期待値も分布もほぼ同じ。
> mean(tetra)
[1] 0.119512
> summary(tetra)
Min. 1st Qu. Median Mean 3rd Qu. Max.
0.0000001 0.0368084 0.0918738 0.1195120 0.1789221 0.5093198

四面体の体積の分布も同様でこんな分布。
URLリンク(i.imgur.com)


次ページ
続きを表示
1を表示
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch