モンテカルロ シミュレーションで、次の問題に遭遇しました。単位球の表面上の点 A を定義する単位ベクトル u が与えられた場合、初期ベクトルと [0,max) の角度 θ を形成する新しいベクトルをランダムに決定する必要があります。 . 言い換えれば、一様な分布から、初期点 A を中心とする事前定義された半径を持つ球の円の内側の球の表面上の点をランダムに選択するアルゴリズムが必要です。
Z = uのように、オイラー角(θ、Ψ、φ)を使用して(x、y、z)から(X、Y、Z)への座標回転を行うことを考えていました。次に、デカルト座標から球座標 (r,θ,φ) への変換 (u=(1,0,0) で、cosθ と φ を一様に選択します)。最後に、(X,Y,Z) に変換し、次に (x,y,z) に変換します。しかし、三角関数は遅すぎるのですが、もっと速い方法はありますか?
球の表面に一様に分布した点のマルサグリア法を修正して、点の近くの点を選択することはできますか?
ご提案いただきありがとうございます。