確率統計確率統計
球内一様分布サンプリング; Inside Spherical Uniform Distribution Sampling

概要
球内一様分布とは以下の式で表現される確率分布。単位球領域内に一様に分布する3変量確率変数を表現する。

$$ f(\boldsymbol{v}) = \frac{3}{4 \pi}, \quad |\boldsymbol{v}| \leq 1 $$
球内一様分布

ソースコード

namespace ExRandom.MultiVariate {
    public class InsideSphericalRandom : Random<double>{
        readonly MT19937 mt;

        public InsideSphericalRandom(MT19937 mt) {
            if(mt == null) {
                throw new ArgumentNullException();
            }

            this.mt = mt;
        }

        public override Vector<double> Next() {
            double theta, phi, r, s;

            theta = mt.NextDouble() * 2 - 1;
            s = Math.Sqrt(1 - theta * theta);

            phi = 2 * Math.PI * mt.NextDouble_OpenInterval1();
            r = Math.Pow(mt.NextDouble(), 1.0 / 3.0);

            return new Vector<double>(r * s * Math.Cos(phi), r * s * Math.Sin(phi), r * theta);
        }
    }
}

関連項目
メルセンヌ・ツイスタ
各種確率分布サンプリング基本クラス

ライブラリライブラリ
確率統計確率統計
線形代数線形代数
幾何学幾何学
最適化最適化
微分方程式微分方程式
画像処理画像処理
補間補間
機械学習機械学習
クラスタリングクラスタリング
パズルゲーム・パズル
未分類未分類