私は、遺伝子組み換えされたハエに単純な画像が表示される実験セットアップを扱っています。画像は、そのフライに一定の距離を置いてスクリーンに投影されます。
今度は、遠近法補正を設定して、表示された画像、たとえば水平バーが、ハエの視点までの距離が長くなるほど広く見えるようにします (実験設定) 。コードは次のようになります。
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
if(!USEFRUSTUM)
gluPerspective(90.0f, 2 * width/height, 0.1f, 100.0f);
else
glFrustum(92.3f, 2.3f, -25.0f, 65.0f, 50.0f, 1000.0f);
値は数年前に誰かが入力したもので、もはや正確ではないことがわかりました。ただし、実験のセットアップでわかるように、ハエの視野が少し傾いているため、投影を適切に機能させるために入力または変更する値を混乱させます。
私はそれらの価値について考えました:
- fovy = a と c の間の角度
- 投影スクリーンの幅と高さを測定する
- しかし、zNear とは何ですか? フライから画面の上または下までの距離を測定する必要がありますか? 誰かが 0.1f に入った理由がわかりません。私には近すぎるように思えます。
- zFar の値を知るにはどうすればよいですか? フライまでの物体の最大距離ですか?
glPerspective に関する情報は、https ://www.ntu.edu.sg/home/ehchua/programming/opengl/CG_BasicsTheory.html から入手しました。3D OpenGL 透視投影を設定する最も簡単な方法 もチェックしましたが、この投稿はそうではありません。私の混乱の原因である私の実験装置を扱いません。
助けてくれてありがとう!