Game Development Stack Exchange is a question and answer site for professional and independent game developers. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I am trying to work out an isometric projection matrix for a custom angle. In the engine I'm using there's a projection matrix defined like so:

projection.rotate(45 * (Math.PI / 180) );
scale = 1.4142137000082988; // not sure why this magic number is needed- now working on a "real" solution
projection.scale(scale * 1, scale * .5);

I'm currently trying to get my head around the wiki article. I see the beta angle is 45, like in the matrix above, but I don't understand where does the 'magic' number come from, and the connection between the isometric angle and the scale ratio (1,1/2).

If I want to use a custom angle, how do I work out what angle I use instead of 45 ? , what would the scale value and scale ratio be ?

share|improve this question
Have you tried replacing 45 and the magic scale number with different values to just see what happens visually? That might make it easier to understand. Also, I suspect that the scale number is just an arbitrary value that happens to produce a good looking result. I have no idea why it would be so precise, though. – DGH May 8 '12 at 21:06
I just realized that your scale number is very close to square root of 2. – DGH May 8 '12 at 21:53
yup, also to 1/cos(radians(45)) – George Profenza May 8 '12 at 22:26

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Browse other questions tagged or ask your own question.