public static boolean collideRectPoint(double rectX, double rectY, double rectWidth, double rectHeight, double rectAngle, double pointX, double pointY) {
double rectCenterX = rectX + rectWidth / 2;
double rectCenterY = rectY + rectHeight / 2;
if (rectAngle == 0)
return collideRectPointByCenter(rectWidth, rectHeight, rectCenterX, rectCenterY, pointX, pointY);
final double cos = Math.cos(rectAngle);
final double sin = Math.cos(rectAngle);
double tx = cos * pointX - sin * pointY;
double ty = cos * pointY + sin * pointX;
double cx = cos * rectCenterX - sin * rectCenterY;
double cy = cos * rectCenterY + sin * rectCenterX;
return collideRectPointByCenter(rectWidth, rectHeight, cx, cy, tx, ty);
}