# What projection matrix and world transformation do I need to have an isometric projection?

I'm doing my own engine in college to display a wireframe on screen with an isometric projection but I literally can't find any literature about maths behind doing it by hand just for game engines which I'm not allowed to use.

So how can I get implement an isometric projection by hand?

my projection matrix (row-major):

• What about the "Mathematics" section in the Wikipedia article? Jun 28 at 13:45
• I tried that and it didn't work at all with my projection matrix Jun 28 at 14:11

Another way to formulate an Isometric projection is with the matrix:

$$\left[ {\begin{array}{cc} cos(\phi) & sin(\phi)sin(\theta) & 0 & 0 \\ 0 & cos(\theta) & 0 &0 \\ sin(\phi) & -cos(\phi)sin(\theta) & 0 & 0 \\ 0 & 0 & 0 & 1 \\ \end{array} } \right]$$

Where $$\phi$$ and $$\theta$$ are the two rotational angles.

Note that the 3rd column is all zero's indicating the plane of projection.

I found that the easiest way is to just use a Transformation Matrix like:

And just adjust the Rz(a) to 45º and Rx(g) to 35.264º

Or if -z to Rz(a) to -45º and Rx(g) to 215.264º

• This is not an axonometric projection. Jun 29 at 11:10
• It looks like you are adding a transformation matrix with the desired roll in the standard MVP (model view projection), an Isometric projection replaces the perspective projection shown in the original question. Jun 29 at 11:29
• @pmw1234 can you elaborate further? As I understand your answer is the projection matrix? Jun 29 at 21:41
• Your original question posted a perspective projection matrix. An isometric projection would replace that matrix, and it would be in the form posted in my answer. The matrix you posted is a transformation matrix that composes 3 rotations. A projection reduces the number of dimensions so I would expect 1 column of the matrix to be all zero's. Jul 1 at 17:29
• projection matrices do not reduce the number of dimensions. The depth is preserved (in non-linear form) for use in z-buffering. Jul 6 at 8:49