Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Agree, none of this makes sense. Three point perspective is best explained by the concept of a pinhole camera with a planar film surface, and simply assumes that we are most interested in the theoretical directions of the 3 major axes, X Y and Z.

For it to really duplicate the geometry you see with your eyes, you need to look at the resulting photo from the spot where the pinhole is (related to the paper, and presumably turning it upside down first). This of course means you need to close one eye, or show a different image to each eye).

But computer graphics, to my knowledge(see 1 below), almost never thinks of it in terms of vanishing points, this is a convenient concept (essentially, a shortcut) for humans who are drawing on paper. Do computers ever even calculate where the vanishing points are on the drawing plane? (other than niche uses, such as an art composition app or the like?) I have never seen computer graphics software "care" about the concept of vanishing points, such as by having a variable that represents said point.

I feel weird having such a negative reaction to this article since I have used the author's bezier library for ages and have a lot of respect for his writing regarding beziers and related curves.

[1] I implemented view controls in CAD systems 25 years ago that are still in use today, and which concentrated especially on perspective views, so I have some knowledge of the subject. Also I learned perspective drawing skills in my industrial design education prior to that, and previous to that was into photography and mechanical drawing and obsessed over such geometrical stuff, starting 40 years ago now.



Computers graphics based on linear algebra can't do true vanishing points, so... no?

This isn't a tutorial on how to implement a useful three point perspective, this is an analysis of how three point perspective behaves if we don't make any computing concessions and examine the full space. You're never going to use that in 3D graphics, it looks terrible and I can't even think of a fun game mechanic that could be based on it. Just use a wide FOV camera in your software of choice and you'll get something much better. But it is a programming exercise that is worth running through.

Remember, when we draw perspective on paper, we never draw all the way up to the vanishing points, we keep them far away enough that every straight line we draw still behaves like a straight line. Things don't get crazy until you get close enough to the vanishing points for the exponential mapping to become really pronounced, and starts doing really wild things.

So obviously for an analysis of the space I'm going to draw something that is intentionally close enough to the vanishing points to show that insanity off =)


I don't know what your first sentence means. What are "true" vanishing points? What does it mean for computer graphics to "do" them?

Basic computer graphics (linear algebra etc) does indeed create images that adhere to the rules of perspective. Lines that are parallel in 3d space, when projected onto the drawing plane, will now all intersect at a point on the plane. Etc. Whether or not the program actually calculates where that point is (typically, it doesn't) is not relevant.

So what do you even mean by this? Have you defined vanishing points in some oddly obscure way that by definition can't be "done" by computer graphics?

Maybe if you started your article with explaining how 3 point perspective is simply based on pinhole camera geometry (which is closely approximated by most camera lenses), it would help convince us that you are not simply stating a bunch of nonsense. I'm sorry but I don't know what else to say. The article doesn't seem to understand the basic theory of how perspective works, or has some odd idea of what it is that doesn't align with how others think about it. If somehow this aided understanding or insight, great, but it doesn't. Instead it simply tells people "don't bother understanding this thing, it is too complicated", but for no good reason.

The article would do well to at least discuss this basic theory before delving into... weirdness.

https://en.wikipedia.org/wiki/Pinhole_camera_model


Of course computer graphics based on linear algebra can do true vanishing points. It wouldn’t look right at all if it couldn’t.

Perhaps what you’re missing is that 3D computer graphics actually uses 4D matrices with homogeneous coordinates. The extra dimension allows perspective projections to be represented, and also allows us to assign coordinates to vanishing points (points at infinity). The usual finite points are represented by (x, y, z, 1), and the vanishing point of (say) lines parallel to the x axis is represented by (1, 0, 0, 0).

https://en.wikipedia.org/wiki/Homogeneous_coordinates#Use_in...


> Do computers ever even calculate where the vanishing points are on the drawing plane?

I don't see why they would, but the vanishing points for the X Y and Z axist are just the homogenous coordinates (1, 0, 0, 0), (0, 1, 0, 0) and (0, 0, 1, 0) and putting those through your normal view transform and projection will get you the corresponding positions on screen. Note that the fourth component is 0 to represent a point at an infinite distance.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: