とりあえずLiSPSM終わったんでVSMの勉強中。確率は苦手なのでログ取りながら。
- まずはここから論文を持ってくる
- 分散とか標準偏差はここを見て思い出す
- 「Chebychev’s inequality」は「チェビシェフの不等式」で調べる。ちなみにgoogle先生にはchebyShevでは?と言われる
チェビシェフの不等式は
で表される。ただし、は平均、は分散。
と置き換えると
と表現できる。これは、「平均から以上ずれる確率は、右の式以下の確率だよ」ということを表す。つまり、右側の式の値がチョー小さければ、平均から以上ずれることはないと仮定して良いんじゃね?ということ。
VSMで使われてるのは、絶対値を抜かしたバージョン(one-tailed)で
で表される。導出は一応http://www.econ.hit-u.ac.jp/~tanaka/mathsta/chap1.pdf:このPDFファイル(PDF注意。大学のやつなので将来消えてるかも)の「片側チェビシェフの不等式」で基本部分を確認できる。(証明過程は自分で)
このをで置き換えれば論文中の式になる。
サンプルコード
- VSMDepth.cpp
- 深度とその二乗を求める
- VSMSpotLight.cpp
- Variance shadow mappingの項で実際の計算
普通のシャドウマップの判定で
- 日向なら
- 日向
- 影なら
- VSMの計算結果を使う
という感じ。
残りは明日?別のことを先にやるかも