# Parallel projection is special case of perspective projection

I synchronized with @David k's first and second answer regarding perspective and parallel projection. From the first question I understand that the image on the screen is typically described in horizontal and vertical coordinates, that is 2D points. But from the second question, I understand that images on the screen are realistic if they use perspective projection which has 3D coordinates.

My confusion is that how we show the image on the screen with 2D points by perspective projection?

The point $$(x,y,z)$$ is projected to position $$(x_p,y_p,z_{vp})$$ on the view plane. Since the view plane is placed at position $$z_{vp}$$ along the $$z_v$$ axis. So when $$z_{vp}=0$$ projectors (projection vectors) do not converge towards a projection reference point in parallel projection. But in perspective projection, when $$z_{vp}=0$$, it is reduced to parallel projection, but the projectors converge at the centre of projection. Am I correct above these concepts?

The vanishing point in perspective projection which is 3D coordinates could be represented in the projective plane as $$(x, y, z, 0).$$ Am I correct?

Let's try to reign stuff in a bit. In practical applications, we do not deal with infinites. Because that would mean we would need to use some kind of symbolic solver for all of our stuff. We couldn't afford to do this in many practical applications.

Because of these practical considerations, I need to have a near and far plane for my camera rasterizer. If I were to make some kind of vector graphics I most likely wouldn't have infinite objects (or at least deal with this in the scenegraph) and if we would do some sort of tracing we would have a hard time deducing intersections near infinity.

Also because of practical considerations, we do not generally * turn the data into 2D coordinates. What we conceptually do is transform the points so that they seem like something that looks like a perspective projection from a parallel projection in our z-direction. We then use this view to build out the data that we need. During this building process, we are free to discard any data that we don't need. So think of this as a preliminary sorting so that I can really do what I intended easily.

Now usually we have access to both the transformed data and untransformed data so that being terribly concerned about deducing something from the projection, that we can simply read it from the 3D space directly or from our scene graph for that matter, is a priority. But both the z and even the fourth component data could be useful for building my next stage primitives.

Ok so at this point we are done with projecting and now we can start building our output. But this has nothing to do with any of the math you asked so far. The next stages are about triangle barycentric coordinates, shading, intersection finding, depth sorting, etc. The math that you have gone through so far doesn't really help with this step.

* It is hard to generalize somebody might be doing this but I wouldn't because it's a waste of my time.

PS: there's no need to know where vanishing points lie since the projection stage has solved both ends of the line.

• can you tell what is form of vanishing point in projection plane? It is normal $(x, y, z)$ in projection plane?
– user17337
Oct 28, 2021 at 12:52
• @User4567 im not sure it is a valid question. A vanishing point is caused by two coplanar lines. Any picture can have arbitrarily many vanishing points. Knowing what it is is meaningless for rendering. Projecting is a alternative way of constructing 3d from the way art books teach you to do stuff. Oct 28, 2021 at 13:45
• but the such image where vanishing point already exist in iamge, like railway track,, so what could be the form of that points?
– user17337
Oct 28, 2021 at 13:56
• @User4567 Does not matter its just a point like everything else. practical implementations work on practical data. The data you usually have tells how to connect consequtive points. Theres no way to know what form it takes it depends on the implementation details of my rendering engine and how i want to encode my data. Oct 28, 2021 at 14:00
• first of all your answer is very difficult to understand.. And I am struggling to understand vanishing point which is already existing in image and it's form.
– user17337
Oct 28, 2021 at 14:02