//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
