Axonometric projections  a technical overview
Abstract
This paper discusses how axonometric projections may be used in computer graphics, multimedia applications and computer games. It compares the axonometric projection, or parallel perspective, to the linear perspective, lists the major properties and tackles some implementation details. An earlier version of this paper is included in the book "Advanced Game Programming".
The focus of this paper is on the isometric and dimetric projections, the most widely used varieties of the axonometric projection. This paper also presents two dimetric projections that are suitable for (tiled) computer graphics.
Introduction —first attempt
In the Western world, we are accustomed to the linear perspective, which tries to achieve visual realism in paintings of 3dimensional environments. The linear perspective, which was perfected throughout the 17^{th} century in Europe, is based on Euclidean optics: the eye as a point object that catches straight light rays and that senses only the colour, the intensity and the angle of the rays, not their length.
Another perspective had developed in oriental art: the "Chinese perspective" was an intrinsic part of the classical scroll painting (actually, "Chinese perspective" is a bit of a misnomer because the same perspective was also used in Japanese art and that of other oriental countries). A typical Chinese scroll painting had a size of approximately 40 centimetres high by several meters wide. One views the painting by unrolling it (from right to left) on a table in segments of about 60 centimetres wide. The Chinese scroll paintings show a development in time —a form of "narrative art", in contrast to the paintings that were made in Europe at the time, which show a "situation" rather than a development.
For these scroll paintings, the Chinese painters needed a perspective that had no explicit vanishing points; every scene of the scroll painting would be seen individually and a vanishing point that lies outside the viewport creates a disoriented view of the scene. (For the same reason, the Chinese scroll paintings usually do not have an explicit light source or cast shadows.) The Chinese painters solved the problem by drawing the lines along the zaxis as parallel lines in the scroll painting. This has the effect of placing the horizon at an imaginary line, infinitely high above the painting. The axonometric projection is a technical term for a class of perspectives to which the Chinese parallel perspective also belongs. These perspectives are not only lacking a vanishing point, they also have a few other, mostly useful, characteristics. These are discussed below.
Introduction —second attempt
Technical drawings need to be precise, accurate and unambiguous. Technical drawings are for engineers and fitters. National institutes formally standardize technical drawings, so that a carpenter will build the particular chair that the furniture designer imagined. Technical drawings are a means of communication, for those who can understand it.
If the world were populated by engineers, nothing else would matter —but it isn't and engineers (and fitters and carpenters alike) need to communicate with managers and customers. The problem is, of course, that technical drawings are difficult to decipher for the uninitiated. Although they show an object from up to six angles, all of those angles are unrealistic: directly from the front, directly from above, etc. What is needed to convey the general shape of the object is a perspective drawing that shows three sides of a cube at once.
At this point, the next issue is: how? Engineers being as they are, they want a simple technique that does not loose much of the accuracy of the original drawings and that does not require artistic skills. Also note that in most cases the object that you must draw does not yet exist, so usually you cannot take a look at the object to get a sense for its proportions. That makes it nearly undoable to adequately position the vanishing points and to estimate the foreshortening.
The compromise, that became to be known as axonometry, is a drawing technique where the orthogonal x, y and zaxes of the (3dimensional) world space are projected to (nonorthogonal) axes on paper. In the projection, the yaxis usually remains the vertical axis, the zaxis is skewed and the xaxis may either be horizontal, as in the figure at the right, or be skewed as well. A more important property of axonometry is its fixed relation between sizes of objects in world space and those on projected space, independent of the positions of the objects in projected space. In linear perspective, objects become smaller when they move farther away; not so in axonometric perspective. This means that you can measure the size of an object of a axonometric drawing and know how big the real object is (you need to know the scale of the drawing and the properties of the projection, but nothing else), something that cannot be done with linear perspective. This leads to the name of the projection: the word "axonometry" means "measurable from the axes".
Although there are countless possible axonometric projections, only two are standardized for technical drawings. These are described in detail below.
Introduction —third attempt
Computer games have traditionally been brimming with graphics and animation. In fact, games are categorized according to the kind of graphics they used. Two popular types of games are "platform games" where you look from the side, and "board games" where you look mostly from above. These games also have in common that they often use tiles to build the "world" from. Given these similarities, and given the dullness of the unrealistic viewpoints of both platform games and board games, the attempt to make a compromise between these extreme viewpoints is a logical next step.
So what one does is take a board of a board game, scale its height (it will become the zaxis, for "depth") and skew it so that this zaxis on the computer display is a diagonal line. For a better appearance, you can also skew the xaxis. The (new) yaxis remains vertical. This is all that is needed, provided that you get the proportions for scaling and skewing right.
Due to the coarseness of digital coordinates and the requirement that the edges of (chequerboard) tiles should match precisely, without any pixel overlaps or gaps, the skewing angles and scaling factors that game designers use are an approximation of the visually optimal proportions. One of the simplifications that game designers have made is to use an axonometric projection where a unit along an axis is equally long for all of the three axes. That is, every axis has the same metric; hence, the projection is named "isometric". Axonometric projections and tilebased images are not necessarily related. But most computer games that use an isometric perspective also use tilebased images.
And now, onward...
The three questions that occupied me when planning this paper were:
 What are common (or wellproportioned) axonometric projections, and how persuasive does each look?
 At what angles does one look at board in an axonometric projection? It is tempting to use rendered 3D objects on an axonometric map, as sprites. To specify the position and orientation of the "camera" in relation to the object, you will need to know the intrinsic angles of the axonometric map that you are using.
 What does one write in an introduction anyway?
The goal of this paper is to present two common axonometric projections, the isometric projection (briefly introduced above) and the dimetrical projection and to provide answer to the questions above.
I am intentionally neglecting the proper definitions of terms and categories; axonometric projections and "oblique parallel" projections are so similar that I just lumped them under the term "axonometry". In any case, an oblique parallel projection should be seen as just a special case of a dimetric (or sometimes isometric) projection. Oblique parallel projections, cavalier projections, cabinet projections, military projections, axonometric projections,... plus ça change, plus c'est la même chose.
To recapitulate, the main properties of axonometric projections are:
 No vanishing points. This allows you to scroll a large image below a viewport and to have the same perspective at any point. In the case of tilebased images, an image is constructed on the fly and need not to have physical bounds or edges.
 Lines that are parallel in the 3dimensional space remain parallel in the 2dimensional picture. This is in contrast with the linear perspective, where parallel lines along the zaxis in the 3dimensional space collapse to a single vanishing point at the horizon in the 2dimensional picture.
 Objects that are distant have the same size as objects that are close; objects do not get smaller as they move away from the viewer. If you know the scale of the axes, you can measure the size (width, height, length, depth) of an object directly from the picture, regardless of its position on the zaxis; hence the name axonometry.
 The axonometric projections are standardized for technical drawings. These standards are optimized for ease of use versus visual realism. Even if you choose to deviate from the standards, use them as an inspiration. The two projections standardized by the ISO standardization institute are presented in this paper.
One word of caution for any of the figures below and the projection angles that these figures present: the angles are only approximate. I calculated the angles based on the shapes of the rhombuses of one or two sides of the projected cube. These calculations would be valid if the perspective projections had not distorted the original cube. Now, the proportions of most projections were chosen to minimize the distortion (especially those standardized for technical drawings), but they are nevertheless not exact. The angles that I give are likewise a good approximation, but no more than that.
The isometric projection
In an isometric projection, the x, y and zaxes have the same metric: a unit (say, a centimetre) along the xaxis is equally long along the y and zaxes. In other words, if you render a wire frame cube, all edges in the 2dimensional picture are equally long. Another property of the isometric projection is that the projected wire frame cube is also symmetric. All sides of the projected cube are rhombuses.
NEN 2536 describes an isometric projection that is symmetric with regards to the vertical axis; the angle between the x and yaxes, and between the z and yaxes, is 60 degrees. The projection shows three sides of a cube, and the surfaces of each side are equal. The 30° angle between the x and zaxes and the "horizon" is convenient for technical drawings, because the sine of 30° is ½. This projection is attributed to William Farish who published a treatise about it in 1822 (reference: Jan Krikke). NEN 2536 has been revised and republished as the international standard ISO 54563.
The figure below shows a cube in the isometric projection as defined by ISO 54563.The first object from the left in the figure is the cube unadorned; the second object is the same cube with angles and measures annotated around it. The third and fourth graphics are the top and side views of the perspective scene and they give the camera position that fits the perspective view. The camera position is what you would feed into a 3D renderer (or ray tracer) to create the sprites or tiles for the isometric projection.
The 30° isometric projection (NEN/ISO)
Computer games with isometric maps are often tilebased. To make tiles match, the game designer must take into account how diagonal lines are plotted in discrete steps (Bresenham and all that). As it turns out, a line at 30 degrees (sine is 0.5) produces steps that are too irregular. A line at an angle where the tangent is 0.5 does have a nice regular pattern: two steps to the right, one step up. Thus, the isometric projection used by most games tilt the x and zaxes with approximately 27 degrees (the exact angle is "arctangent(0.5)"). By the way, because the tangent of the angle of the rhombus is 0.5, the rhombus is twice as wide as it is high. This is why many sources mention a 1:2 scale for isometric perspectives. (To make the edges of the rhombuses match, the width of the rhombus should be a multiple of four pixels and the height should be one pixel less than ½ width. In other words, the height:width ratio of a rhombus is usually not exactly 1:2, but rather near 1:2.1. This makes no difference for the principles of the isometric perspective.)
Again, the figure below shows what this isometric projection looks like.
The 1:2 isometric projection
The two isometric projections mentioned above "skew" all faces of the example cube. In applications where the most important faces are the horizontal ones, for example in applications where maps or floor plans are paramount, another isometric projection is common. It is called the "military" projection, probably because of its origin or use.
The "military" projection
In the military projection, the angles of the x and zaxes are at 45°, meaning that the angle between the xaxis and the zaxis is 90°. That is, the xz plane is not skewed. It is rotated over 45°, though.
In the side view of the military projection (the graph at the right), I have indicated that the viewing angle downwards onto the object (the cube) is approximately 45°. The military projection gives a quite inaccurate perspective —numerically speaking, and the scheme that I used to calculate the angles does not work on this projection. This angle is therefore just an estimate, based on a concept of symmetry rather than visual accuracy.
The dimetric projection
In the dimetric projection, one of the three axes has a different scale than the other two. In practice, the scaled axis is the zaxis and, hence, a cube drawn in a dimetric projection is not a symmetrical graphic (like in the isometric projection).
Dimetric projections are more flexible than the isometric projections, as you vary the scale factor (and adjust other parameters in accordance). The asymmetry in the dimetric projection also provides you with an additional angle to play with. From an artistic viewpoint, I also like dimetric projections better than isometric projections, because of the asymmetry. Or rather, the symmetry of an isometric projection makes the scene look "artificial" or surrealistic. Another advantage is, in a computer game, that if you mirror the graphics of a dimetric projection, you are looking at a scene in a new, "fresh", perspective, while the basic computations for the coordinate system stay the same.
NEN 2536 also presents a dimetric projection for technical drawings. It is summarized in the figure below. Any distance along the zaxis (drawn at 42°) is scaled at a factor ½.
The 42°/7° projection (NEN/ISO)
The introduction mentioned Chinese scroll paintings, and I took some time taking the metrics of (reproductions of) two scroll paintings. The projection is different in these two paintings, and I assume that more variations exist. Noticeable in all scroll paintings that I have seen so far, is that the xaxis stays horizontal.
The first scroll painting projects the zaxis to quite a low angle (approximately 30 degrees). As a result, the perspective view is, computationally, far from accurate. The reasons that we still see a 3dimensional cube, rather than some kind of flat polygon, is that the angle in the "side view" of the perspective view is also low and because our visual system is quite forgiving for errors in perspective correction.
The scale of the zaxis could not be accurately determined from the scroll painting. My estimate is that the zaxis on the painting (with a 30° projected zaxis) is scaled by half (50%).
The "Chinese perspective"
Also note (again) that the perspective is distorted and that the angles of the top view and the side view should be taken as a "rule of thumb"; I calculated these angles in the same way as the angles in the dimetric projection presented in NEN 2536/ISO 54563, but these calculations are, actually, no longer applicable.
The other painting, reproduced below, has the projected zaxis at a bit less than 40 degrees, but slanted in the other direction. On the one hand, I could say that the zaxis is slanted to approximately 130° (90° + 40°), but on the other hand the the direction of the slant is insignificant for the discussion of axonometric projection.
I can give only a rough estimate of the scaling of the zaxis in this scroll painting ("a City of Cathay"): between 0.6 and 0.7 (but probably closer to 0.6).
Dimetric projections for computer graphics and games
As was the case with the isometric projection, in computer graphics some angles are preferable to others. The first dimetric projection that I propose for (tiled) computer graphics is very similar to the projection of Chinese scroll paintings. The difference is the scale of the zaxis, and the angle that it makes with the xaxis. To start with the angle, the zaxis is slanted with approximately 27 degrees (the exact angle is "arctangent(0.5)"). This is the same angle as the isometric projection for computer graphics uses. The scale is such that the width of the side view of a cube, when measured along the xaxis, is half of the width of the front face. The key phrase in the previous sentence is "when measured along the xaxis". In the two former projections, the scale factor applied to distances measured along the zaxis.
Dimetric 1:2 projection "sideview"
The above projection gives a perspective that is viewed mostly from the side. I might be useful to add some depth to a sidescrolling (or "platform") game. For boardlike games, a perspective that is viewed from a greater height is more appropriate. The second proposed dimetric projection for games serves this end.
Dimetric 1:2 projection "topview"
Again, note that the perspective of the two projections suggested above is distorted. The angles in the top and side views are really approximate. For example, in the second projection the angle at which one looks from above at the scene is given as 24 degrees. However, using an angle of 30 degrees may actually look better. In addition, a 30degree angle lets you use the same objects for both the dimetric and the isometric projections for games.
Other dimetric projections are summarized in the table below. These projections were taken from the CARTESIO program. For each projection, I give the name that the program gives to the projection, the slant for the x and zaxes and the scale for the zaxis. In all the projections presented here, the the yaxis remains vertical and the x and yaxes have the same scale.
projection name  xaxis angle  zaxis angle  zaxis scale 

130, 130, 100  10  40  0.59 
1, 1, 2/3  12.8  38.6  0.667 
1, 1, 3/4  16.3  36.8  0.75 
The CARTESIO program lists more projections than the few above, including those of the NEN 2536/ISO 54563 standards and a few ones that are so distorted that I see no practical use for them.
Moving across an axonometric projection
Converting from space coordinates (x,y,z) to a pixel coordinate (x',y') in the projection requires only trivial geometry. The table below presents the formulae for completeness. Please refer to the coordinate system in the figure at the right for my definition of the x, y and zaxes; in 3D space, the yaxis points upwards and the plane is defined by the x and zaxes.
Convert from 3D coordinates to 2D projection coordinates  

class  name  equations 
Isometric  NEN/ISO  \[ \eqalign{ x' &= (x  z) \cdot \cos ({30^ \circ }) \cr y' &= y + (x + z) \cdot \sin ({30^ \circ }) \cr} \] 
Computer games  \[ \eqalign{ x' &= x  z \cr y' &= y + {{x + z} \over 2} \cr} \]  
Dimetric  NEN/ISO  \[ \eqalign{ x' &= x \cdot \cos ({7^ \circ }) + {{z \cdot \cos ({{42}^ \circ })} \over 2} \cr y' &= y + {{z \cdot \sin ({{42}^ \circ })} \over 2}  x \cdot \sin ({7^ \circ }) \cr} \] 
Chinese scroll paintings  \[ \eqalign{ x' &= x + {\bf n} \cdot z \cdot \cos ({\bf T}) \cr y' &= y + {\bf n} \cdot z \cdot \sin ({\bf T}) \cr} \] where \( {\bf n} \) is 0.5 to 0.7 and \( {\bf T} \) is 30° to 40°  
Computer games: side view  \[ \eqalign{ x' &= x + {z \over 2} \cr y' &= y + {z \over 4} \cr} \]  
Computer games: top view  \[ \eqalign{ x' &= x + {z \over 4} \cr y' &= y + {z \over 2} \cr} \] 
Note that in the above equations, the various sines and cosines are constant for a given projection and they need to be calculated only once.
Converting coordinates in the projection to space coordinates is a different matter. In its general form, it simply cannot be done: you cannot calculate three independent output parameters from two input parameters. If you can "fix" one of the output parameters, the other two can be calculated from the input parameters. An example: if the axonometric projection represents a map and you can assume that the area on the map has little or no relief, then you can fix the position on the yaxis to zero (ground level), and you only have to calculate x and z from x' and y'. (Again, note that in the threedimensional coordinate system that I am using, the yaxis points upwards.)
Convert from 2D projection coordinates to 3D coordinates  

class  name  equations 
Isometric  NEN/ISO  \[ \eqalign{ x &= {{x'} \over {2 \cdot \cos ({{30}^ \circ })}} + y'  y \cr z &=  {{x'} \over {2 \cdot \cos ({{30}^ \circ })}} + y'  y \cr} \] 
Computer games  \[ \eqalign{ x &= {\textstyle{1 \over 2}}x' + y'  y \cr z &=  {\textstyle{1 \over 2}}x' + y'  y \cr} \]  
Dimetric  NEN/ISO  \[ \eqalign{ x &= {{x' \cdot (2\cos ({{42}^ \circ }) + \cos ({7^ \circ }) \cdot \sin ({{42}^ \circ }))} \over {{{\cos }^2}({7^ \circ }) \cdot \sin ({{42}^ \circ }) + \cos ({7^ \circ }) \cdot \cos ({{42}^ \circ })}}  {{\cos ({{42}^ \circ }) \cdot (y'  y)} \over {\sin ({{42}^ \circ }) \cdot \cos ({7^ \circ }) + \cos ({{42}^ \circ })}} \cr z &= {{2 \cdot \cos ({7^ \circ }) \cdot (y'  y) + 2 \cdot x'} \over {\sin ({{42}^ \circ }) \cdot \cos ({7^ \circ }) + \cos ({{42}^ \circ })}} \cr} \] 
Chinese scroll paintings  \[ \eqalign{ x &= x'  {{\cos ({\bf T}) \cdot (y'  y)} \over {\sin ({\bf T})}} \cr z &= {{y'  y} \over {{\bf n} \cdot \sin ({\bf T})}} \cr} \] where \( {\bf n} \) is 0.5 to 0.7 and \( {\bf T} \) is 30° to 40°  
Computer games: side view  \[ \eqalign{ x &= x'  2 \cdot (y'  y) \cr z &= 4 \cdot (y'  y) \cr} \]  
Computer games: top view  \[ \eqalign{ x &= x'  {{y'  y} \over 2} \cr z &= 2 \cdot (y'  y) \cr} \] 
The denominators of all fractions and many of other the factors in the above equations are constant, and need to be calculated only once. For example, the complex looking denominator \( {{\cos }^2}({7^ \circ }) \cdot \sin ({{42}^ \circ }) + \cos ({7^ \circ }) \cdot \cos ({{42}^ \circ }) \) in one the fractions for the NEN 2536 projection is a constant with the (approximate) value of 1.397.
A refinement of the above is to support some amount of relief. The calculation of the output coordinates starts as before, only now the ycoordinate is an estimate, rather than a "known" value. After calculating the x and zcoordinates, you can look up the corresponding "height" value at the position (x,z). Typically, they will not match with the ycoordinate that you guessed when calculating the x and zcoordinates. Now you can adjust you estimate of the ycoordinate and calculate the matching x and zcoordinates again. This iteration continues until the estimated ycoordinate (before calculating x and z) comes close enough to the lookedup value (after calculating x and z).
The principal question in following this iterative procedure is: "does it converge?" Following intuition, the procedure is considered to converge if no spot on the project surface obscures another location in 3D space. That is, if the slopes of the surface relief stays below the viewing angle (in the "view direction"), every location on the map in 3D space has a unique "sibling" location in the axonometric projection, which is visible from the view point.
In the above image, the viewing angle from the horizontal plane is 30 degrees and the steepest slope in the view direction is approximately half of that. The figures with the wireframe cubes in this article show the angle at which you look on the plane (for the NEN 2536 isometric projection, it is 35° and for the 1:2 projection used in most isometric games, it is 30°). If the slopes in your board stay below this limit, the iterative procedure of calculating x and z given y and then adjusting y, until y does not change any more, will converge.
If you have extreme relief, or overlapping "ground levels" such as bridges or buildings, I suggest that you separate the projected map into parts that, themselves, adhere to the limitation of no steeper angles than the viewing angle. These parts can be separate "layers" or "sprites" and you build the full map by combining them. To calculate (x,y,z) from (x',y') you first decide on what layer/sprite the location (x',y') is and then use the iterative procedure to find the values of x, y and z.
Further information
 Cultural Cafe, The; "A City of Cathay: View Chinese Life through a Famous Painting"; CDROM; Volume 2; no date.
 This CDROM contains a detailed presentation of the famous scroll painting.
 Foley, James D. [et al.]; "Computer Graphics: Principles and Practice"; AddisonWesley; second edition, 1990; ISBN 0201121107.
 This encyclopaedic book covers perspective projections in chapter five.
 Krikke, J.; "Axonometry: A Matter of Perspective"; IEEE Computer Graphics and Applications; July/August 2000.

A (historic) overview of axonometric projections from the viewpoints
of oriental art, technical drawings and computer games —in the same spirit
as the three introductions to this paper, but in a more detailed and
coherent article.
The article argues that the word "axonometry" should refer only to the particular projection used by oriental artists (the socalled "Chinese perspective") whereas the generic term is "orthographic projections". Citing NEN 2536 and Foley [et al.] as a reference, I treat axonometric projections and parallel projections as synonyms, while an orthographic projection is one where the viewing direction is perpendicular to a plane, showing no perspective at all.  NEN 2536; "Engineering drawing. Axonometric projection"; Nederlands Normalisatie Instituut; August 1966.
 A Dutch standard for axonometric projections for technical drawings.
This standard has been superseeded by NEN 54563, published in 1997 (Dutch) and by ISO 54563 titled "Technical Drawings  Projection Methods  Part 3: Axonometric Representations" published in 1999 (English).  Trevisan, Camillo; the CARTESIO program; version 3.03e.
 An educational and interactive application that features many geometric projections. It is free for personal use.