Hi!
On 2 Feb 2012, step7 wrote:
> First surprise is that the relationship between the distance from the camera
> to a plane and the dimensions represented in that plane isn't linear.
I am not sure to understand.
The magnification is defined as the ratio of the dimensions on the image
to the dimensions on the object plane. It is roughly
M = f / d
where d is the distance from the camera to the object plane and f the
focal length of the lens. Beware that this formula is not valid for
close-ups, i.e. when d is of the same order as f.
If by "the dimensions represented in that plane" you mean the inverse
magnification, then yes, it *is* a linear function of object distance.
The shift you have to apply to the plane at distance d would be
proportional to (d_m - d) if computed as a dimension in that particular
plane. But you then have to multiply by the magnification to get the
shift in image space. That's how you get something proportional to
(d_m/d - 1).
> Also struggling with why I'd get infinities if I had a plane 0m from the
> camera.
Look at the upper edge of your nose. No, not in a mirror, that is
cheating. ;-) You see that it's very far to the left, at the edge of
your field of view... when viewed through the right eye. And very far to
the right, when viewed through your left eye. And yet it is not on the
same plane as your eyes, it's still in front of it.
> Another question is what effects are depth of field* and foreshortening*
> having here?
Depth of field has the effect of blurring things that are not in the
plane of best focus. If you want to simulate the depth of field of the
human eye, you should make sure that your lens is opened at the same
aperture as your eye: same diameter of the entrance pupil. This diameter
depends on the light level. If the picture was taken with too-big an
aperture, you cannot fix it. It it was taken with a too small aperture,
you may want to add some extra blurring.
But I do not think that simulating the depth of field of the eye is a
good idea. When you look at a scene, you actually scan it with your
eyes, and automatically refocus along the way. Then you hardly see
anything blurry. This is in contrast to a camera that takes a whole
picture with a single focus setting.
As for foreshortening, this is already in your picture. Unless you are
talking about the difference between the foreshortenings of the left and
right eye, which would be very difficult to reproduce from a single 2D
picture.
> Is FOV automatically accommodated when I calculate the scale of the
> midground plane?
Err... is there something in the FoV that has to be "accommodated"?
> Would it be possible to simulate the effect of changing the FOV by scaling
> and shifting each plane?
You can reduce the field of view by cropping. You cannot increase it
once the picture is taken.
Edgar.