I need some maths help for a 2D game I am programming. In this game I have a rectangle, specified by its centers' X and Y coordinates, and its width and height. I then rotate this rectangle via
halfWidth = width / 2; halfHeight = height / 2; rad = angle * TO_RADIANS; cos = FloatMath.cos(rad); sin = FloatMath.sin(rad); x1 = -halfWidth * cos - (-halfHeight) * sin; y1 = -halfWidth * sin + (-halfHeight) * cos; x2 = halfWidth * cos - (-halfHeight) * sin; y2 = halfWidth * sin + (-halfHeight) * cos; x3 = halfWidth * cos - halfHeight * sin; y3 = halfWidth * sin + halfHeight * cos; x4 = -halfWidth * cos - halfHeight * sin; y4 = -halfWidth * sin + halfHeight * cos; x1 += x; y1 += y; x2 += x; y2 += y; x3 += x; y3 += y; x4 += x; y4 += y;
That is working fine.
Additionally I have a point in the same Cartesian coordinate space, specified by pointX and pointY. Now I want check whether or not this point lies within the boudaries of the rotated rectangle -- but unfortunately I do not have a clue how to achieve this :)
Can you help me with this question?
Thanks in advance!
Kind regards, Matthias