[Math] Find other coordinates on a rectangle given 1 side length and 2 opposite points

geometryrectangles

I have two problems I'm hoping to solve with one equation for a game. This game uses a square for its key (rotates) but I'd prefer to treat it as a rectangle instead. I want to find the coordinates so I can find the angle of rotation of the box (programatically) from its perfect horizontal (y1 = y2) alignment.

I have the image below where I'm given X1, Y1, X2, Y2 and the length of a single OR both sides.

I'm trying to find (X2, Y1) and (X1, Y2) as shown below:

enter image description here
What I've tried? I tried to use the Pythagorean theorem but I don't have the angle..
I thought about using the distance formula to find the length of the diagonals and calculate the other coords using that but its a rectangle so that doesn't help much.

Any ideas how I can approach it?

Best Answer

If you are only given one set of sides and the two points, and don't want to say it is square (which would give you the other set of sides), you don't have enough information to solve the problem. The rectangle could be as you have drawn the left picture, or $L1,L2$ (which are equal) could be shorter and the rectangle more tilted.

If you are given both sides as on the right, you have enough information. Do you need the coordinates of the other corners (which are not the $(X1,Y2)$ you label) or is that just a means to get the angle of the bottom side? You can evaluate the angle of he diagonal $(X1,Y1)$ to $(X2,Y2)$ as Atan2(Y1-Y2,X1-X2). Note that this uses the usual math convention of $+x$ to the right, $+y$ up-you may need to reorient it for your coordinates. The angle from the diagonal to the lower side is $\arctan(\frac {70}{60})$ and the angle of the lower side is the sum of these.