Here is a brief description of what I'm trying to accomplish. I created a 2d top down game that operated on a Cartesian plane and used some custom polygons to determine collisions and perform actions within the game engine.
I have converted the engine into a tiled isometric game and have got the majority of it working. I can translate the mouse click to the tile selected and can go back and forth between Cartesian coordinates and isometric tile coordinates. However, transforming some of my polygons is proving difficult. I need them to not only display correctly along the isometric plane but also to retrieve the adjusted coordinates in order to perform collision detection tests. I also need to accurately determine the "simulated" distance between a pair of points on the isometric plane.
Here is an examples to help clarify the situation a little bit:
This image is from the 2d top down game, with an isometric background to help clarify the issue. In this image you can see the green bounding box of a character in the game and the blue custom polygons used to simulate a sword swing. However in this image you can see that the bounding box and the sword swing polygons are still represented in the Cartesian plane.
This image is from the isometric game, with the Cartesian axis being represented by the red lines. They meet at point (0,0). There is a blue bounding box for the character that has now been transformed to fit the Isometric plane. To the bottom right you'll see a tile I selected outlined in green. Inside the tile are some points and lines that will be used to demonstrate the problem.
The teal letters represent coordinates and the red numbers represent lines. The distance (on the Cartesian plane) between B and F is 45 and the distance between H and D is 90. However, on the isometric plane the "simulated" distance (within the game) should be the same, in order to give the effect of a 3d environment.
Hopefully, that's enough information to get to the actual problem. What I need help with is deriving a formula for converting an angle and a "simulated" distance (on the isometric plane) to a Cartesian coordinate.
For example if given the coordinate of point A, the angle 0 and the distance of 45 you should get the Cartesian coordinates for the point D. Similarly if given the angle 90 and the distance of 45 you should get the point B. If given the angle 180 and the distance of 45 you should get the point H. If given the angle 270 and the distance of 45 you should get the point F.
Similarly if asked what the distance of point A to all of those points you should get 45 as the distance.
These examples wont necessarily transform the polygons but they will allow me to recreate them and the majority of my other custom polygons. Sorry if this doesn't make sense. If needed I'll try to clarify the problem more, just let me know what needs to be explained further.
Thanks for your time.
EDIT: if there is some type of transformation matrix that would accomplish this and be easier, I'm definitely open to that as well.
EDIT 2: using the answer provided by amd below I was able to get the answers needed. my isometric view was created by rotating an object 45 degrees and then scaling the y axis in half. In order to find the distance between the two points I simply needed to reverse the transformation and then determine the distance. also the formula provided by amd worked to determine a point given a distance and angle, however to fit my example i needed to change the 1/sqrt(3) into 1/2 and add 45 degrees to the angle provided before running it through the formula.
EDIT 3: here is an example of the finished product