> Except that’s not “true” three point perspective
Is “strict 3-point perspective” a known concept or the author just invented it?
> That’s the easy-for-computer-graphics version of three point perspective
It was devised for people, not computers, over 600 years ago.
I can’t find any other references or why you’d want this odd infinite representation of space, it makes little sense except as a mathematical curiosity.
In drawing, it's just "three point perspective", and it's this. In computer graphics, every resource you look for explains three point perspective as a plane intersection (because then computers can draw it using a camera), which is not the same thing as pen and paper three point perspective. The word "strict" here is just the natural language version of the word, not a technical term. We're implementing three point perspective following the pen and paper rules, not the "let's subtly change how it works so a 3D camera can do this" rules =)
> I can’t find [...] why you’d want this odd infinite representation of space.
Like I say in the post: you almost certainly don't ever want it. When drawing three point perspective using pen and paper we typically pick vanishing points that aren't even on the paper itself (you tape down your paper and mark them on your desk instead) to get sweet looking faux architectural drawings while effectively working on a "crop" where the effects of exponential space are subtle, instead of super obvious, so it never gets weird. (heck, even adding secondary vanishing points that are further apart for working at different scales for different parts of your picture so people will never see the effect of exponential space is pretty common)
Similarly, you can get something "close enough" in any 3D software with a wide angle camera positioned close to your subject, so unless you've very explicitly setting out to do exponential space graphics, there is literally no reason for you to ever need, let alone implement this.
But it is fun to work out what the real behaviour is if we try to implement strict three point perspective on a computer, because we like programming puzzles, and (also as mentioned) there aren't any pages on the web that I've been able to find that cover this extremely niche projection so now there is at least one.
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.
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).
> 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.
It looks like the OP has come up with their own variation on some sort of curvilinear perspective (which is a known concept in visual design, and may even be useful to model, e.g. distortion introduced by a lens) but this is not how actual 3D projection works.
Very much not, that's the whole point of this post. This is what happens when you take the maths associated with 2 and 3 point perspective, and work out what the non-cartesian properties actually mean if you were to implement it "the way it really is" on a computer.
At which point you should go "this is silly, let's never do this" because: it's really silly, let's never do this. And now we know why.
Isn't regular point perspective that all axis-aligned lines meet at the one of the three points, whereas here all lines whatsoever eventually converge there?
This reminds me of the mathematical trick to make a "hollow earth" work, with us living on the inside: All rays of light are bent. You can never see the curvature of the earth (or it seems that we are living on the outside). The stars that seem to be at ~infinity are at the center of the sphere, and the sun is a ball of fire orbiting around the center, and so on.
Almost: all equal ratio lines (x=z+c, x=y+c, y=z+c where c is some constant) head off in a straight line towards their respective horizons, but all other non-axis-aligned lines converge at the vanishing points.
Is “strict 3-point perspective” a known concept or the author just invented it?
> That’s the easy-for-computer-graphics version of three point perspective
It was devised for people, not computers, over 600 years ago.
I can’t find any other references or why you’d want this odd infinite representation of space, it makes little sense except as a mathematical curiosity.