|
From: Edward K. C. <ek...@lg...> - 2004-06-04 18:36:22
|
On Jun 3, 2004, at 17:52, James W. Walker wrote: > That isn't how I'd do it. I'd set up my camera with a wide field of > view, so that if the view port were at maximum, the camera could see > everything. Then I'd set the view port to be something smaller. To > pan around, I would then be sliding the view port, but not changing > its size nor moving the camera. Well, what complicates things for me is that my projection model is rather rigidly defined (it's a geophysical modelling app which can incorporate survey data). Whatever I decide to do with view ports, there are two properties which must always be satisfied: the scale of the rendered image must match real world units as much as possible (especially on a printout), and the amount of perspective should be a function of the observer's distance from the scale model. So for example, the default scale factor is 1 cm = 100 m and the default viewing distance is 40 cm (in other words, your eye would be about 16" from the monitor). That means a 1 km long survey line lying directly on the view plane (which corresponds to the plane of the monitor) should look about 10 cm long. If it was closer to the camera by say 5 cm, it should look longer to the extent that an object hovering 5 cm in front of the screen would look larger to the human eye only 35 cm away. Now, I am assuming the only way to adjust the perspective effect is to play with the field of view, so I think I need to stick to whatever value I have calculated for it. On the other hand, I think there are several ways you can manipulate the scale of the image. Reducing the distance of the camera from the view plane or shrinking the size of the view port should both have a linear dilation effect. I suppose you could also do it at the geometry level with a scaling transform. So if I understand these view ports correctly, I should be able to compensate for changes in view port dimensions by changing something else at the same time like the camera distance, and there should be no distortion of the image in either size or perspective. Correct? -Ted |