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): Row-major

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

2 Answers 2


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: This bad boi

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º

  • $\begingroup$ This is not an axonometric projection. $\endgroup$
    – pmw1234
    Jun 29 at 11:10
  • $\begingroup$ 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. $\endgroup$
    – pmw1234
    Jun 29 at 11:29
  • $\begingroup$ @pmw1234 can you elaborate further? As I understand your answer is the projection matrix? $\endgroup$
    – MiguelP
    Jun 29 at 21:41
  • $\begingroup$ 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. $\endgroup$
    – pmw1234
    Jul 1 at 17:29
  • $\begingroup$ projection matrices do not reduce the number of dimensions. The depth is preserved (in non-linear form) for use in z-buffering. $\endgroup$ Jul 6 at 8:49

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.