Piranesi's Perspective Trick (2019)
89 comments
·March 27, 2025bemmu
asicsp
A very different book, but I loved reading "Jonathan Strange & Mr Norrell" [0] as well by the same author.
[0] which used footnotes to great effect
colkassad
This also has a great audiobook version. Simon Prebble really brings the characters to life.
AndrewStephens
I enjoyed the TV adaptation as well.
maw
Indeed. It made long walks with my dog seem all too short.
WD-42
Clicked the article for the book, stayed for the awesome explanation on how perspective works.
echelon_musk
This must have been the inspiration for the Counter-Strike map de_piranesi !
teraflop
No, the CS map predates the novel by almost 20 years. Almost certainly they were just both inspired by the same artist.
AndrewStephens
I second this review - Piranesi is a fantastic and inventive novel.
whatrocks
I think about this book ALL the time. It was way more terrifying than calming to me. But still absolutely love it / haunted by it.
OnionBlender
I remember being very frustrated with the main character while listening to the audio book. I enjoy the memory of the story a lot more than I remember actively listening to the story. I think I kept trying to "figure out" the world like it was a puzzle. I also find naive characters very frustrating. It wasn't until I finished the story that I really appreciated it.
bemmu
"The House is valuable because it is the House. It is enough in and of itself."
getlawgdon
So did you just spoil the ending for me?
nmca
A truly wonderful novel that I also opened the comments to shill.
AnthonBerg
we each enter the corridors for our own purposes and yet they are one
flopsamjetsam
Loved the book. Bought it in hardcover, based just on the blurb, which sounded so futuristic and imaginative. Surprised me in ways I didn't expect.
SamBam
> By legibility I mean that the Piranesi distortion is easier to read, and that to anyone unfamiliar with photographs, that hasn’t grown up with TV, photographs and magazines, the Piranesi version would look much better, and the true perspective would look rather odd.
I think this is a key point that people are often unaware of. For instance, whenever I see a modern artist who has painted photorealistic art, I read discussion about how amazing it is that this artist can paint something so perfectly life-like, and the Renaissance artists were clearly inferior, since they couldn't paint with such skill.
Besides the obvious discussion about the purpose of art, the other question is whether a photorealistic painting is actually more "lifelike?"
Sure, it represents the world exactly the way that a camera sees it, but does it represent the world exactly as we see it? With our human brains we are filling in details, we are focused on the subject of the painting, we are distorting, we are re-mapping shades of color to what we know they ought to be. "Lens blur" in particular isn't remotely the way our eyes perceive the world: our eyes can never roam around the unfocused parts of our own image, rather we ignore the blurry parts unless we specifically try to notice them, and anything we try to focus on becomes sharp.
So I appreciate the authors recognition that Piranesi's perspective may indeed be closer to how we perceive the world than "correct" perspective.
bonoboTP
> rather we ignore the blurry parts unless we specifically try to notice them, and anything we try to focus on becomes sharp.
Unrelated to perspective: Artists often put more detail in places that you're "supposed to" look at, and leave other things more as a blurry sketch, and our eyes naturally don't linger on those parts. What's interesting to me is that I can often recognize AI art by the way it doesn't make use of this, it tends to make everything equally detailed.
jcalx
I learned this back when I used to make maps for Source games (Team Fortress 2, CS:Source, etc.) — at first I sprinkled props and detailed geometry equally throughout the level, but it's better (in terms of art direction, player attention, and performance optimization) to put details in places that "matter". Valve does this [0] in their official maps and it's actually hard to notice until you really pay attention to it.
dhosek
One of the most dramatic things in this respect is to look at a photograph of a flame. Our lived experience of what flames look like is very different. The same is true of nearly any dynamic object in life (flowing water is another great example where the photograph doesn’t look like what we experience).
semi-extrinsic
Those examples are very challenging because they are volumetric objects, in addition to being dynamic. The flame does not even have a well-defined surface. What you see as red/yellow in the flame is in fact just glowing soot particles, and the point where this disappears is just a temperature difference in the gas such that the soot stops glowing.
roughly
One of my favorite books is "Seeing Like a State"[1], which talks about how the modern world has transitioned from talking about things like distance and space in human terms ("an hour's walk", "six bushels' worth of crops") to a surveyor's terms ("3 miles", "5 acres"). In the modern world, we're very used to thinking about things as mediated by technology (maps, cameras, compasses), and that affects how we think about arts, as well - matching what a camera produces is "photorealistic", but isn't how we actually _see_ things. This is one example, another I've always found fascinating is that the large Chinese landscape paintings play a trick where the perspective shifts depending on where you're looking - the whole work does not share a single perspective point, but any given point on the scroll looks "correct" for that spot and its surroundings.
[1]https://bookshop.org/p/books/seeing-like-a-state-how-certain...
kqr
I strongly agree.
> The distinctive feature of Piranesi’s perspective trick is that when you have a series of similar objects receding into the distance, such as houses or arches in a bridge, the nearer versions are just drawn as larger versions of those in the distance
This makes so much sense. When nature presents me with a series of identical arches, that is how I'm going to interpret them. Not as the geometric shapes that are actually projected onto the backs of my eyes.
bazoom42
Notably, photorealism is called photorealism because it deliberatley tries to reproduce photography, not because it tries to reproduce observable reality.
Etherlord87
You make good points, but if we really perceived reality differently than cameras, someone would write an article about that - after all you can take a photo on your smartphone and compare to your IRL view. Yes it's hard to make it match but it's possible. Since no one made an experiment to show this, and since we understand pretty well the optics of a human eye, I think the cameras actually reproduce human vision decently. The aspect of a psychological bias and filling stuff in perhaps distorts in each possible way, so the camera shows the average human perception.
WantonQuantum
One thing that cameras can do that we can't do with our (unaided) eyes is change focal length. When a camera zooms in or zooms out, there is a change in the geometry of perspective. When zooming in, the change is difficult to see but is well documented. Portrait photographers are well aware of this because it tends to make people look better. When zooming out, especially when zooming out to a very wide field of view, the effect can be very noticeable. When people use a phone camera to take a picture of a group of people, the people at the edges of the photo can look very flattened and unnatural. Again, this effect is well known and very much discussed and written about in photography and art. In the article about Piranesi's work, we see a very interesting remedy to the perceived distortion of a wide view. Again, these works show a field of view, and therefore a focal length, that is not possible with our eyes. We can visualise in our mind's eye what the scene looks like but what our eyes are doing is moving around the scene while our visual cortex and ultimately our mind's eye construct a mental model. In our minds, we know that the arches of the bridge are the same size and shape despite being distorted by distance. We can look at what's in front of us and see that in the receding row of arches the nearest appears to be bigger than the farthest but we also know that's just an artefact of our point of view. Things are subtly different when we look with our eyes at a photograph, painting or drawing. It's not the same as when we see something in real life, we're looking at a 2 dimensional representation of a 3 dimensional scene. We do see the perspective in the picture - we don't see a bunch of lines on a two dimensional plane. Our brains are making that happen and are making some adjustments along the way. It just so happens that something we have difficulty adjusting so it "looks right" is a very wide angle scene. That's because we don't ever see a very wide angle scene in one glance in real life.
kqr
> When a camera zooms in or zooms out, there is a change in the geometry of perspective.
This is the opposite of what happens. The perspective is exactly the same, only cropped to a narrower field of view.
Changed perspective would be counteracting the lens zoom with foot zoom -- now this causes the change in perspective you talk about. But it's caused entirely by moving the camera. The zoom is just to preserve framing and could just as well be accomplished by cropping in post, assuming sufficient resolution.
bazoom42
Just one well known difference: Human have two eyes and we use the difference to determine distances. A photo is flat.
Another difference: In human sigth you can only focus on the center of the vision field, while on a photograph you can look at unfocused points and observe the distortion on the edges of the picture. Human observation (like looking at the bridge in the pic) is really a series of observations where we move the focus.
idkfasayer
[dead]
jcalx
Panini projection is built into Unity and Unreal. From the documentation from the latter [0] you can see how it's essentially a cropped fisheye-ish projection. That doc also has (in my opinion) a clearer comparison on how the two projections differ, especially looking at the layout of the square tiles on the floor in the first set of pictures.
[0] https://dev.epicgames.com/documentation/en-us/unreal-engine/...
ibaikov
Wow, this is SO cool! It looks better because you can see the details of objects far from the 'camera'. This is basically what you do when you are there in reality, constantly refocusing on objects. This perspective trick to me is a map of zones on the picture on which I will focus.
I wonder what would happen if we'd render videos using it, and maybe games? Could this be a solution to better graphics? Would movement ruin it? Please tell me!
dust42
The panotools wiki has a good comparison of different projections of the same photo. Google Streetview uses equirectangular pictures to store 360° images. Panini is another type of equirectangular.
Examples
Panini: https://wiki.panotools.org/File:Ben_Equirectangular_panini.j...
Equirectangular: https://wiki.panotools.org/File:Big_ben_equirectangular.jpg
Full list: https://wiki.panotools.org/Projections
RheingoldRiver
if you have any connection to the admins of that wiki, it would be great to get MultimediaViewer extension enabled - https://www.mediawiki.org/wiki/Extension:MultimediaViewer
they're on 1.35 right now which is a bit out of date (lifecycle - https://www.mediawiki.org/wiki/Version_lifecycle) but an older branch of MMV should work fine on 1.35
account42
I hate this behavior on Wikipedia. Worst part is that people then share links to those views which don't work without running javashit.
RheingoldRiver
If you have an account, you can disable it in preferences. Appearance -> Files -> "Enable Media Viewer" Toggle that off and it'll never happen again
nyanpasu64
My theory is that most perceived perspective errors arise when a photograph captured with a wide field of view is shown in a narrower one; a perspective-"distorted" image looks more realistic if you put your nose up to the screen so the photograph fills more of your field of view (enlarging the center and eventually squashing the edges). And tricks like Panini projection and Piranesi's arches are ways of making features at the edge of the screen "take up" the correct amount of viewing angle (without bending straight lines) when the painting takes up less of your vision than the original scene.
01HNNWZ0MV43FF
> it isn’t possible to construct a camera or a computer program to render a view that does this
Hmmm
> The mathematics of this is quite simple
If so then surely a program could be written
jmilloy
Doing it with a camera/computer requires identifying the objects that need to be drawn in "Piranesi Perspective". The mathematics of laying out the objects is quite simple, but rendering a raster image into a view such that the key objects have this perspective probably isn't possible. You would need to vectorize the image in a general way. I don't know the state of the art in that field, but it sure seems hard.
hulium
He has written a program:
https://github.com/brunopostle/piranesi
The problem is that it is a method for projecting a rectangle, not a full 3D scene. I can imagine though that it could be extended to a full projection if you specify a central axis along which the perspective trick happens.
jihadjihad
It confused me too, and maybe I am wrong, but I took it to mean, "can't render an existing (i.e. non-Piranesi) view into Piranesi perspective." Meaning, if you're an artist starting from scratch, you could do it (using the math given)--and some of those examples seem like aspects of one drawing employ Piranesi perspective while others don't.
So maybe the author was just saying if the work was drawn with "true" perspective throughout, there isn't a programmatic way of converting the entire thing over to Piranesi. That's at least how I read it, I'm curious about it too!
JKCalhoun
Yes, perhaps the computer needs information on which pixels belong to which buildings in order to apply perspective-per-object, rather than perspective-to-the-entire-image?
01HNNWZ0MV43FF
Something is up with that green building on the right, too. It's wider in the "true perspective" views, wider even than the ortho view
rozab
Here is the Panini projection paper, it's a good read[0].
Unreal Engine has support for it as a post-processing filter[1], but I don't know of any games using it.
[0]: http://tksharpless.net/vedutismo/Pannini/panini.pdf [1]: https://dev.epicgames.com/documentation/en-us/unreal-engine/...
thewellis2
Piranesi's imaginary prisons are worth a viewing. Great gothic prisons from a fever dream rendered in a similar fashion to these engravings.
kazinator
This reminds me of an issue in vintage computer graphics. Say you have a game with some polygons happening, and they're nicely rendered in 3D perspective. You'd like to add some snazzy textures to them.
Here's a problem. The textures have to be put through a perspective projection. As in every pixel.
It's possible to cheat. You can simply use a bicubic stretch or even linear. It really shows up when the polygons are large and they rotate to create deep perspective. You see an artifact whereby the center of the texture does not stay centered on the polygon as it rotates.
animatethrow
Playstation 1 didn't do perspective correct texture mapping. If you scroll way down this WebGL tutorial page a few examples are shown:
https://webglfundamentals.org/webgl/lessons/webgl-3d-perspec...
brookst
Came expecting commentary on the POV used in the (excellent) novel, learned great stuff about visual arts and incidentally more context about the book. Thanks for posting!
damnitbuilds
In the image with the caption:
"Normal homography perspective transformation produced in GIMP. Note how squashed the buildings at the right and left are when taken in isolation"
The building at the right is not squashed ?
It is wider than in the Piranesi picture above.SamBam
It would have been nice to show a few more easy-to-understand comparisons. The "street view" image was nice, but blurry. Ditto with the map. I think if the last image of the two buildings had been shown side-by-side with the "correct" perspective, that might have helped explain the article.
inanutshellus
This was a really cool article and I hope others read it through, but yes, it took me way too far into the article to "get" what he was saying was wrong with the perspective.
morley
I wonder how hard it is to change a game engine to render images like this, and if the effect would be preserved while panning.
svachalek
I think the difficulty comes from it being context dependent, it's not a consistent distortion of the true image the way most projections are, it identifies synthetic structures in the foreground and warps everything else (including similar structures in the background) around them. It should be possible for an AI filter though.
JKCalhoun
Yeah, I thought better (cleaner?) examples would have helped.
stronglikedan
> The building at the right is not squashed ? It is wider than in the Piranesi picture above.
The building on the right is squashed, in isolation. When you take the building by itself (in isolation), it is indeed wider than the picture above, but it is also the same height, i.e., squashed.
achr2
They mean distorted, not squished for both.
I'll take this opportunity to drop the fact that I'm kind of obsessed with the book "Piranesi", where the main character (named after the artist in the article) survives in a world which is just endless corridors of classical architecture, statues, and staircases.
It's an incredibly calming experience, I've listened to the audiobook over 10 times before sleep. Highly recommended.