逆関数法の例
球面上の一様分布
http://corysimon.github.io/articles/uniformdistn-on-sphere/
以下のような積分を計算したい
$ \int_{S^2} f(\omega) d\omega = \int_0^{2\pi}\int_0^\pi f(\theta,\phi) \sin\theta d\theta d\phi
$ p(\theta, \phi) = \frac{\sin\theta}{4\pi}とおく
$ p(\theta) = \int_0^{2\pi} p(\theta, \phi) d\phi = \frac{\sin\theta}{2}
$ p(\phi) = \int_0^\pi p(\theta, \phi) d\theta = \frac{1}{2 \pi}
累積密度関数は
$ F(\theta) = \int_0^\theta \frac{\sin t}{2} dt = \frac{1 - \cos\theta}{2}
なので、逆関数は
$ \theta = F^{-1}(u) = \arccos (1 - 2 u)
$ \phi = 2\pi v
※別の方法として、単位キューブの中で一様分布^3で点を取得して、単位球の内部なら正規化し、単位球の外なら無視して取り直すという方法もあるらしい。
$ t = \cos\thetaと変数 変換する場合
$ \int_0^{2\pi}\int_{-1}^1 f(\arccos(t), \phi)dt d\phi
$ p(t,\phi) = \frac{1}{4\pi}とすれば
$ 4\pi \int_0^{2\pi}\int_{-1}^1 f(\arccos(t), \phi) p(t,\phi) dtd\phi
なので、$ u を単位閉区間上の一様な確率変数とすれば $ t = 2u -1, \phi = 2\pi vとして
$ F_N = 4\pi \frac{1}{N} \sum_{i=1}^N \frac{f(\arccos(t_i),\phi_i)}{p(t_i,\phi_i)}=\frac{1}{N}\sum_{i=1}^N f(\arccos(t_i),\phi_i) \approx I
半球上のコサイン
レンダリング方程式で使うやつ。
$ \int_\Omega f(\omega) \cos\theta d\omega = \int_0^{2\pi}\int_0^{\pi/2} f(\theta,\phi)\cos\theta \sin\theta d\theta d\phi を計算したい。
$ p(\theta,\phi) = \frac{\cos\theta\sin\theta}{\pi}とおく。
$ p(\theta) = \int_0^{2\pi}p(\theta,\phi)d\phi = 2 \sin\theta\cos\theta = \sin 2\theta
$ p(\phi) = \frac{1}{2\pi}
なので
$ F(\theta) = \int_0^\theta \sin2t dt = \frac{1 - \cos 2\theta}{2}
逆関数は
$ \theta = F^{-1}(u) = \frac{1}{2} \arccos(1 - 2u)
$ \phi = 2 \pi v
このとき
$ \cos\theta = \cos(\frac{\arccos(1-2u)}{2}) = \sqrt{\frac{1+ (1-2u)}{2}} = \sqrt{1 -u}
$ \sin\theta = \sqrt{1 - 1+u} = \sqrt{u}
Henyey--Greenstein
https://www.astro.umd.edu/~jph/HG_note.pdf
$ f(\theta) = \frac{1}{4\pi}\frac{1-g^2}{(1 + g^2 + 2 g \cos\theta)^{3/2}}
文献によって符号が反転してることがあるので気を付ける。
上記のものは$ g > 0のときに$ \pi方向に分布が集中している(forward scattering)。
$ h(\mu) = \frac{1}{2}\frac{1-g^2}{(1 + g^2 + 2 g \mu)^{3/2}}とおく。
$ \xi = F(\mu) = \int_{-1}^\mu h(t) dt = -\frac{1-g^2}{2g} \left( (1+g^2 + 2g\mu)^{-1/2} - (1-g)^{-1} \right)
を変形して
$ \cos\theta = \mu = - \frac{1}{2g} \left(1 + g^2 - \left(\frac{1-g^2}{1+g - 2g \xi} \right)^2\right)
↑のPDFとは$ gの符号が逆になってそう。