5
$\begingroup$

I'm following this tutorial on the perspective projection.

Question: If the point of a perspective projection is to create the perspective effect (where objects faraway appear to be smaller):

enter image description here

then why does it generate a frustrum in which the back is larger than the front? Should it be the other way around?

enter image description here

$\endgroup$

3 Answers 3

5
$\begingroup$

It might help to think of it this way:

Both the near plane and the far plane are the size that will fit onto the screen you are viewing on. The further away something is, the bigger it can be and still fit on the screen. Close up, a playing card can fill the whole screen, but in the distance, an entire building can fit on the screen.

Consider the example image:

image of near and far plane

If a playing card exactly fills the near plane, then you will be able to fit 4 playing cards on the far plane. This reflects the fact that when a playing card is twice as far from the camera, it appears to have half the height and width.

Think of the near plane and the far plane as simply the area that will fit on your screen. The further away you point your camera, the more will fit on the screen. This matches up with the fact that things look smaller in the distance - this means you can fit bigger things on the screen if they are further away.

$\endgroup$
3
$\begingroup$

It is bigger because it fills the same view and it ts further away. It would be smaller if it wouldn't fill the same view but then it wouldn't fill the camera view and it wouldnt work.

So the inverse relation applies. If you want something to stay constant in size in the view then it needs to grow as it gets further.

Your just comparing apples with oranges.

$\endgroup$
1
$\begingroup$

if you place your hand by your ear, you can't see it ... now then if you move it forward, suddenly you'll start seeing it ... this is what the frustrum represents, as in your second picture...

$\endgroup$

Not the answer you're looking for? Browse other questions tagged or ask your own question.