面白い問題おしえて~な 31問目at MATH
面白い問題おしえて~な 31問目 - 暇つぶし2ch915:132人目の素数さん
20/03/19 16:40:30 XGan5JrS.net
球面に一様分布らしき点を5000個発生させて、
各々の点でθが5°の球冠面にその点以外にどれだけの点が含まれるかを算出させてみた。
URLリンク(upload.wikimedia.org)
中央値9 平均9.56 標準偏差3.14という値になった。

> summary(dots) ; sd(dots)
Min. 1st Qu. Median Mean 3rd Qu. Max.
0.000 7.000 9.000 9.556 12.000 23.000
[1] 3.148086

ヒストグラムだと
URLリンク(i.imgur.com)

# 球面一様分布 c(x,y,z)
vertex <- function(r=1){
x=runif(1,-1,1) # x ~ 一様分布[-1,1]
phi=runif(1,-pi,pi) # φ ~ 一様分布[-π,π]
y=sqrt(1-x^2)*cos(phi) # √(1-x^2)*cos(φ)
z=sqrt(1-x^2)*sin(phi) # √(1-x^2)*sin(φ)
r*c(x,y,z)
}

n=5000
vtx=t(replicate(n,vertex())) # n個の点x,y,zをつくる
rgl::plot3d(vtx[,1],vtx[,2],vtx[,3], col="slateblue")

Theta=(pi/180)*5
onCap <-function(x,y,theta){
acos(x %*% y) < theta # ベクトルの内積の逆余弦がtheta未満なら球冠上にある
}

hmonCap<- function(j){
count=0
for(i in (1:n)[-j]){
count = count + onCap(vtx[j,],vtx[i,],Theta)
}
return(count)
}
dots=sapply(1:n,hmonCap)
summary(dots) ; sd(dots)
hist(dots) ; table(dots)
BEST::plotPost(dots)


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