ランダムな向きのベクトルを生成する

ちょっと、ランダムな向きのベクトルを生成する必要があったので調べてみた。
さすがStackOverFlow。すぐあった。
正規分布で各要素を得て正規化すればいいということらしい。
distribution - random unit vector in multi-dimensional space - Stack Overflow


詳しい説明は ここを見ろってあったけど、よくわからない・・・
Hypersphere Point Picking -- from Wolfram MathWorld


とりあえずJavaのコードのように書くとこう。

var r = new Random();
return new Vector3D(r.nextGaussian(),
                    r.nextGaussian(),
                    r.nextGaussian()).normalize();