Reverse this equation/function (2d to isometric)

I have a function that transforms x and y points on a 2d grid to the equivalent x and y on an isometric grid. Are you able to reverse the equation so that when given isometric x,y we end up with 2d coordinates?

Here's the function in psuedo code

var tileWidth = 128 var tileHeight = 128 var isoWidth = tileWidth / 2 var isoHeight = tileHeight / 2 var isoXOffset = isoWidth / 2 var isoYOffset = 0 2dtoIso(x, y){ var origin2dX = x * tileWidth var origin2dY = y * tileHeight var originIsoX = origin2dX / 2 + y * -1 * isoHeight + isoXOffset var originIsoY = origin2dY / 4 + (x / 2) * isoHeight + isoYOffset return (originIsoX,originIsoY) }

Thanks for trying. I'm stumped :)

  • Some crucial information seems to be missing. What the number 128 represent? what are the variables you have defined represent?

  • Also given that this is a non-standard question, it may take a while for someone to figure it out. So I would say the offered bounty is low.

  • It's used to draw isometric tiles on a screen so the 128 is pixels which is the width of a tile. Thanks for the comments. Out of interest why would it take a while to figure out? I personally don't know how to re-arrange something like this but I assumed it would be easy for somebody who knows the rules of algebra

  • I noticed isoWidth is unused. I assume you meant to use it instead of isoHeight on the 3rd line in the function definition.


Answers can be viewed only if
  1. The questioner was satisfied and accepted the answer, or
  2. The answer was disputed, but the judge evaluated it as 100% correct.
View the answer
The answer is accepted.
Join Matchmaticians Affiliate Marketing Program to earn up to 50% commission on every question your affiliated users ask or answer.