顔の角度と見える横幅の関係
ふと思い立ってアナログで雑多に顔を描いてたけど、30-45度の時だけ異様に面長にして修正が必要になるな...?と気付いたappbird.icon
https://gyazo.com/f02d55290809b881ecc36270f54736c5
つまりこういうことappbird.icon
https://gyazo.com/828259021ad3799a4f2e06b37407a2da
顔の正方形のエリアの横幅が角度θに対してどう変化するか考える必要がある
今までの自分はnaiveに線形または正弦波状に変化すると仮定してたけど恐らくそうではなさそう
この問題は次のように定式化できる?appbird.icon
https://gyazo.com/c3ba50a0efbab7cd7f4ef527e02df948
楕円(長軸$ a = 3, 短軸$ b = 2)を長軸に対して垂直な方向に等分割した半楕円Fが原点にある。
頭を上から見たときに見える楕円の長軸は3, 短軸は2の比率をしている
この半楕円と同じ中心$ Oを共有する半径$ Rの円$ Cがあり、この上をカメラの位置$ Pが動く。($ a \ll R)
この時、$ Oの長軸を延長した直線と$ Cの交点$ P_0として、$ \thetaを$ OP_0と$ OPのなす角としよう。
点$ Pから$ Fに向かって接線を引くと、これらの接点の距離をθを用いて表せないだろうか?
これ自体は数IIIの範疇なのでこねくり回せば解析的にも解けるはず。appbird.icon
顔の角度θに対して見える顔の横幅は図の青線のように遷移する。appbird.icon
近似的にとらえるなら、π/4(45度)までは顔部分は正方形に見える必要がある
そこからほぼ線形に落ちていって、最終的に顔面の半分だけが見える感じかな
https://gyazo.com/af3fd778c2fd3376bd2f58a49741ab2d
まぁこうなるのは顔が奥に細長い楕円形をしているからってところ
なんだけど、数値的に確認してみると思った以上にθが大きくても正方形状に見えるんだな~とわかった
ここまで被写体の実際の大きさについて議論してきたけど、画像乾板まで落とし込まなきゃ実際の議論はできないのでは?appbird.icon
そうでもない
画像乾板に対するこの弧(接点を結ぶ線分)の深度がθによって変わる
本来は画像平面に透視投影した後の大きさを考えなきゃいけない。
しかしその深度の変化って高々a/2だし、今回カメラは十分遠い(a << R)と仮定してる
深度は一定と近似すればよいかなと。
焦点距離fはあくまでもこの被写体の実際の大きさに係数として掛かるもので、深度も一定なので、
今回は被写体の実際の大きさ(あるいはocclusionされて見えない範囲)さえ捉えていれれば目的は十分達成されているはず。
被写体の映る大きさ $ \propto 今回のグラフの値なので。
したがって、以上のグラフを参考にすれば、まあだいたい顔の横幅がどういう風に変化するのかがわかるはず、です。