Then again, this looks a bit odd to me. Surely the x term ( _camera.focus*_camera.zoom +_clipTop*_clipBottom) will always dominate here. Which explains why the result is always just under 180 degrees. Anyone know how this works?
On Oct 7, 10:38 am, DrMcCleod <[email protected]> wrote: > Thanks, that should help me find out what is going on. > > On Oct 7, 12:23 am, Pavel Jacko <[email protected]> wrote: > > > //calculated from the arctan addition formula arctan(x) + arctan(y) = > > arctan(x + y / 1 - x*y) > > return Math.atan2(_clipTop - _clipBottom, _camera.focus*_camera.zoom + > > _clipTop*_clipBottom)*toDEGREES; > > > this is in function getFOV() implemented by ILens interface > > you can have closer look if you go to away3d.cameras.lenses package > > and open some lenses class. > > > Hope this helps little bit. > > > Pavel > > > On Oct 6, 3:31 pm, DrMcCleod <[email protected]> wrote: > > > > I need to explicitly set the Field of View angle of my camera but I am > > > having trouble doing so. > > > > example: > > > > (in constructor) > > > { > > > boundCamera = new Camera3D( { x:0, y:0, z: -100} ); > > > boundCamera.lens = new ZoomFocusLens(); > > > > boundCamera.moveTo(0, 0, 0); > > > boundCamera.centerPivot(); > > > > boundCamera.fov = 30; > > > boundCamera.zoom = 1; > > > > } > > > > (in enterFrameListener) > > > { > > > trace("fov: " + boundCamera.fov + " z: " + boundCamera.zoom + " f: " + > > > boundCamera.focus); > > > > } > > > > When the program containing this code runs, the trace returns... > > > > fov: 179.489... z: 1 f: 100 > > > > And sure enough, the view looks very wide. > > > What should I do to explicitly set the field of view, so in genuinely > > > renders the correct angle? > > > > In fact, what is the calculation that relates fov to zoom and focus? > > > It does not seem to be the same as Papervision
