Except this article isn't interested in "the usual computer graphics". We already know how to do that one, it looks great, it barely has any problems, and on the whole if you want to render things in a cool perspective, use a camera.
The whole point of the article is to show what happens if we don't follow conventional computer graphics wisdom and instead implement it based on how it gets taught in art class, and what happens if you break the fundamental "don't get too close to your vanishing points" rule you get taught there.
Mind you, it's great advice in general, it just doesn't match up with art class, which was the whole point of this article. That said, if you want to file an issue over on the repo (https://github.com/Pomax/three-point-perspective/issues), I'm sure a new section can be added at the end going "how can we fix this?" and then show this is one of the several ways in which real world 3D graphics handle perspective.
In my technical drawing classes, I was taught that in three point perspective, lines that aren't parallel to the three vanishing axes are still straight, and you can in fact use that fact to construct additional vanishing points.
So for example, once you've established an axis-aligned cube, you can draw parallel lines across the diagonals of two opposite faces and they will meet at a new vanishing point, which you can use to construct more lines parallel to them, lying in that 45 degree plane.
It turns out that that vanishing point will lie on the line through the vanishing points that you used to define the cube axes, which is kind of interesting - each orientation of a plane in 3d space has a straight 'horizon' line in the drawing space, and parallel lines on those planes all vanish at a particular point on that horizon line.
I was specifically taught the diagonal projection technique particularly to transfer measurements throughout the perspective space - once you've established a diagonal baseline you can use it to transfer a length from one axis to another, which is great for doing things like counting out distances along an architectural facade to space windows. Laying out perspective-correct squares also turns out to be important for being able to correctly size ellipses for perspective-correct circles.
So I'm not sure where you got the idea that three-point-perspective as usually taught is a weird curved geometry. It's meant to be straight-line-preserving, which is precisely what makes it good for technical and architectural illustration. There's no such rule as 'don't get too close to your vanishing points' - it works just fine.
One thing I didn't see mentioned in the article is the motivation for choosing the particular (exponential) mapping. If you imagine replacing your function with f(s)=1-1/g(s) for some g with g(0)=1 which goes to infinity as s does, then as long as g grows faster than polynomial you'll obtain the same properties. Something like x^x, or just 2^sqrt(x). 2^x certainly seems the simplest, but was there a further reason?
Art classes don’t teach that objects appear exponentially smaller as they recede into the distance. To make something appear half the size, you need to move it twice as far away, not move it by a constant amount.
Either you never had art class in high school, or you forgot that it does not get explained that nicely. Most kids, as well as adults taking casual courses, will never learn this.
Can we go "hey we can fix all of this with a switch in function"? Absolutely. Should I ammend the article with that? Yeah, also absolutely. Is it how the vast majority of people get taught three point perspective? Very much not.
Again, please file an issue so that I don't forget to write that section, because pages on the internet well outlast their life on hackernews, but I work on a million projects and will forget about this if there's no issue =)
I did have art class in high school, and I’m aware that most artists won’t have been taught the formulas in full mathematical detail. But you’re the one describing your method as “based on how it gets taught in art class” and calling it “strict” and “true” three-point perspective (or at least calling the usual method “not true three-point perspective”). What I’m suggesting is that maybe you should examine the extra assumptions you made in addition to the rules from art class before drawing conclusions from them.
I think you might have just had a bad class on the topic. For what it's worth I watched Erik Olson's artistic linear perspective class lectures on New Masters Academy and it definitely didn't teach perspective working the way you describe.
The whole point of the article is to show what happens if we don't follow conventional computer graphics wisdom and instead implement it based on how it gets taught in art class, and what happens if you break the fundamental "don't get too close to your vanishing points" rule you get taught there.
Mind you, it's great advice in general, it just doesn't match up with art class, which was the whole point of this article. That said, if you want to file an issue over on the repo (https://github.com/Pomax/three-point-perspective/issues), I'm sure a new section can be added at the end going "how can we fix this?" and then show this is one of the several ways in which real world 3D graphics handle perspective.