December 8, 2017 - Bryce Harrington
Introduction to Projective Transformation
The Italian city of Florence is home to the Uffizi Gallery, one of the most famous art museums in the world, with a particular emphasis on Renaissance art, including my favorite event in all of art history: the discovery of perspective. Today we’re so surrounded by artwork that uses perspective that we hardly notice it. In fact, it’s the *non-*perspective art that looks weird to us today, but prior to the 1400’s it simply didn’t exist.
Drawing and painting differ from other art forms like sculpture, architecture, or theater, in that they represent life and the world via a flat two-dimensional surface. With sculpture, artists essentially make a 3D copy of a physical object measured in three dimensions; with a drawing or painting, you’re challenged with flattening reality down to just two.
Indeed, the earliest artists resorted to just showing front or profile views of their subject. Sometimes depth is shown by overlapping objects in the scene, but there is no foreshortening; making something larger or smaller in the drawing is used to indicate the importance of the subject, not its depth. Egyptian art shows an interesting workaround by drawing a figure both in front view (the body), and in profile (the head and arms).
My own drawing background has nothing to do with art. Through high school and college I took year after year of drafting classes, yet I never learned perspective drawing (perhaps this academic deficiency led to my interest in the topic). Technical drawing seeks to represent 3D objects on a 2D surface in such a way that the builder or mechanic can make the 3D object accurately. Objects are drawn face-on, top-down, and side-view. Often, the object is also shown in an isometric projection.
Isometric projection shows the object rotated by 45° about the vertical axis and 35.264° about the horizontal. Importantly, lines drawn along any axis will be equivalent in length. Or stated another way, lines drawn for the front of an object will be proportional to the actual lengths of lines drawn for the rear of the object. This “parallel perspective” characteristic — while valuable for engineers (and video games!) — makes this type of projection unsuitable for art. If you’re drawing a scene with people in the foreground and in the background, they’ll all be drawn of the same size!
As I stroll through the rooms of the Uffizi with the oldest art, it strikes me how primitive and simple looking much of it is. Much of the art displayed from this period was commissioned by churches in the form of triptychs: paintings on wooden panels used for ecclesiastical purposes such as altar pieces. The rich gold leafing, careful attention to beautifully rendered facial expressions, and meaningful compositions prove these to be notable works of art, yet technically I can’t help but notice how reminiscent they are of Egyptian wall paintings from thousands of years earlier: figures standing in a row, mostly frontal views, with heads turned to give the illusion of three-dimensionality, and differences in size used to indicate importance, rather than depth.
If you look carefully though, you can start to see experiments with perspective, by masters like Cimabue and Giotto. Parallel perspectives being used to show buildings and background elements. Foreshortening the sizes or diagonals of buildings, tiled floors, thrones, or objects in the background, even if the people themselves are still equal sized both in foreground and background. When I turned the corner into the Quattrocento rooms, a sudden change struck me. The figures themselves didn’t look that much different, but they were now in realistic looking places. The change was the invention of perspective.
Art history traditionally credits the discovery not to a painter, but a sculptor and architect: the famous Filippo Brunelleschi, who demonstrated the geometrical concepts to his contemporaries in 1413 using a mirror to quickly alternate between the view of a building and a drawn picture of it. The eye could then quickly ascertain that the various lines of the drawing matched to what was seen by the eye directly.
Other artists began experimenting with the geometries of the optics, and working out ways to accurately abstract these into simpler rules of thumb that any artist could follow. Leon Battista Alberti’s treatise De pictura was the first writing to lay out the new painting theories with the worked-out geometrical analysis. Artists started incorporating these ideas and techniques into their works, first for architecture and background scenery, then later for compositions and people. Masaccio’s The Tribute Money, painted in the 1420’s, is one of the first of the age to show a single vanishing point. The sizes of trees, clouds, and Peter fishing in the background give the scene a sense of depth not seen in earlier works. With this illusion of space finally solved, the 15th century saw an explosion of explorations of this new perspective driven art.
The Perspective of an Engineer
One of the interesting things about perspective to an artistic luddite like myself is that while it seems a high art, there is actually a very strict mathematics to it. Brunelleschi and his compatriots likely figured out the geometric operations from the inception, which were thence taught to and studied by future artists, architects, and opticians.
Today, computers use linear algebra instead of geometry to calculate the transformation of an object or scene into a perspective view. Linear algebra represents a set of dimensional equations as a grid of numbers, called a matrix. The computer runs computations using this matrix against each point in its scene to calculate where the point will lay in the two-dimensional view of the scene. In my next post I’ll dig into the technicalities of how this perspective transformation functionality can be added to the Cairo graphics drawing library. Stay tuned!
About Bryce Harrington
Bryce Harrington is a Senior Open Source Developer at the Samsung Open Source Group focusing on Open Source Graphics. Prior to Samsung, he lead Canonical, Ltd.'s Ubuntu X.org team, and focused on stabilization of the graphics and input infrastructures for the Ubuntu distribution. Bryce began his career in the aerospace industry as a spacecraft propulsions engineer at The Aerospace Corporation, Hughes Space and Communications and TRW. Later, he joined the Open Source Development Labs as a Senior Performance Engineer working on NFSv4 testing and development of automated test systems. He is a founder and developer of the Inkscape project and serves as Chairman of the Inkscape Board. Bryce has a BS-AE from USC and an MS-AE from Caltech.