円内部(2次元)の一様乱数でアホなミスをする、、、球内部(3次元)のときだけ角度に気を付けると思っていた、、、半径もか、、、Pythonで図示して確認する。
ちょっとしたモンテカルロシミュレーション(ってほどでもないが)で円の内部の一様分布している乱数が必要となった。
ああ、これは3次元はヤコビアンとかで気を付けないと、2次元はそのままでよかったな、と思って
x=r cosθ
y=r sinθ
で[0,1)の一様分布する乱数u,vを使ってr=u, θ=2πvとして計算したら、、、
あれ?真ん中が濃いぞ?
・・・ああ、2次元でも半径は変換しないとダメか! r dr dθ = d(r^2/2) dθなので
r=√u としないとダメだった、、、
例えばこんなところ。
https://qiita.com/aa_debdeb/items/e416ae8a018692fc07eb
変換すると、、、
ちゃんと一様っぽくなった。こんなことまで忘れていてダメダメ、、、
ついでに3次元も。
なにも考えず
x=r cosφ sinθ
y=r sinφ sinθ
z=r cosθ
で、[0,1)の一様分布する乱数u,vを使ってr=u, φ=2πv, θ=πwとして計算したら、、
案の定、θ=0,πの方向で濃くなる。これは
sinθ dθ dφ = d(-cosθ) dφなので
φ=2πv
θ=arccos(2*w-1)
これは覚えていたのでやってみたが、
真ん中に集まる、、、のも半径の変換を忘れているから。
実際は r^2 sinθ dr dθ dφ = d(r^3/3) d(-cosθ) dφ
なので
r=∛u
φ=2πv
θ=arccos(2*w-1)
とすればようやく一様な球に。
※表示はPython+Matplotlibを使ってます。
« Python+NumbaでWikipediaのList of chaotic mapsを1つずつ描く(その2) Tinkerbell Map。あのティンカーベルに似ている? | トップページ | 6月19日に公開された厚生労働省の新型コロナウイルス接触確認アプリ(COCOA) をiPhoneにインストールした。 »
「学問・資格」カテゴリの記事
- 高周波・RFニュース 2025年1月13日 IEEE Microwave Magazineの特集はニューラルネットワークとマイクロ波、Siversがミリ波ビームフォーマー開発を受注、バイデン・ハリス政権が ワイヤレス革命に1億 1,700 万ドル、HoneywellとNXPが航空機技術で提携(2025.01.13)
- UnityでVisual C#用の数値計算ライブラリMath.NET numericsを使う(1) まずはNuGetForUnityを使ってインストール。2Dゲーム画面に連立方程式を解いた結果を表示。(2025.01.14)
- 高周波・RFニュース 2025年1月9日 CES2025に合わせて各社プレスリリース、特にQualcomm、NVIDIA、INTELが大量。SEMCOのC0G MLCC (1210 inch, 22nF, 1000V)解説、TIのAI搭載60GHz車内レーダ、MarvellのCPO、Qorvoの車載UWB SoC、TDKのセンサがAI白杖に採用(2025.01.09)
- NHK パンサー尾形さんの笑わない数学 微分・積分 スペシャルがもうすぐ始まる。これから見てリアルタイムでポストしたのでそのスレッドを残す。(2024.12.29)
« Python+NumbaでWikipediaのList of chaotic mapsを1つずつ描く(その2) Tinkerbell Map。あのティンカーベルに似ている? | トップページ | 6月19日に公開された厚生労働省の新型コロナウイルス接触確認アプリ(COCOA) をiPhoneにインストールした。 »
コメント