ねこでじ(Nekodigi)

Nekodigi’s diary

学習中の気づきをまとめています。応援よろしくお願いします

【Processing】球面上の点をサンプリングする

成果物

www.youtube.com
今回は、Spherical Voronoiのために球面上のポイントをサンプリングするプログラムを作ってみました。

仕組み

今回は、x,y,zが求められればいいので、極座標を使わず、そのまま求めています。
 \begin{array}{l}
x=\sqrt{1-u^{2}}\cos( \theta )\\
y=\sqrt{1-u^{2}}\sin( \theta )\\
z=u\\
0\leq u\leq 1\\
0\leq \theta \leq 2\pi 
\end{array}
こちらのサイトをもとにしています。
Sphere Point Picking -- from Wolfram MathWorld

コード

sphereSamplingという名前です。Sphereリポジトリに追加しています。
github.com