等立体角射影方式
#魚眼レンズ #射影 #投影
魚眼レンズにおける等立体角射影方式 (Equisolid Angle Projection) は、射影方式のひとつ
画像上の面積が立体角に比例する
民生用の魚眼レンズのほとんどが、等立体角射影を採用しているらしい
Mapping Function
$ rを画像の中心からの距離・$ fを焦点距離・$ \thetaを光軸からの角度としたとき、
$ r = 2f \sin \left( \frac{\theta}{2} \right)
$ \theta = 2 \sin^{-1} \left( \frac{r}{2f} \right)
GLSL
レイの生成を行うコード
code:glsl
const float f = 1.0;
float r = length(p);
float theta = 2.0 * asin(r / f / 2.0);
vec3 rd = vec3(sin(theta) * p / r, -cos(theta));
https://www.shadertoy.com/view/tXtcDj