(他の掲示板等のURL貼り付けだけのときには、ポイント無しにさせて頂きます)
縦横1.0fの四角形(3角形のポリゴン2つ)
で、エフェクト、view,projectionは下記
this.basicEffect = new BasicEffect(this.GraphicsDevice);
this.basicEffect.VertexColorEnabled = true;
this.basicEffect.View = Matrix.CreateLookAt(new Vector3(0.0f, 0.0f, 10.0f),Vector3.Zero,Vector3.Up);
this.basicEffect.Projection = Matrix.CreatePerspectiveFieldOfView(MathHelper.ToRadians(45.0f),(float)this.GraphicsDevice.Viewport.Width /
(float)this.GraphicsDevice.Viewport.Height,1.0f,100.0f);
の時に、viewが45度なので、zを9.0(カメラからは1.0)にモデルを移動したら、四角形が画面いっぱい(縦方向だけですが)に表示されるはずなのですが、四角形がはみ出してしまいます、zが8.8f(カメラから1.2f)程度でほぼいっぱいに表示されます。
四角形を画面いっぱいに表示するためのzを求める計算式をお教え頂けないでしょうか?
(view等を変えても対応出来るようにしたいもので)
詳しい方、御教授願えれば幸いです。
つまり、viewというのは「視野中心軸と視野辺縁への線の成す角」ではなく
2012/09/07 05:44:05その倍であって、貴方が本来期待されているのは
「view = 90deg、z = 9.5 (カメラから0.5)で画面一杯」だと思います。
納得です。
2012/09/07 13:10:42x軸に対して45度の線を引い算出していました。
お恥ずかしい・・。