public static Vector2[] rectVerts(Rectangle r, float rRot)
{
Point origin = r.Center;
Vector2[] points = new Vector2[4];
points[0] = new Vector2((float)(origin.X + ((r.Left - origin.X) * Math.Cos(rRot) - (r.Top - origin.Y) * Math.Sin(rRot))), (float)(origin.Y + ((r.Left - origin.X) * Math.Sin(rRot) + (r.Top - origin.Y) * Math.Cos(rRot))));
points[1] = new Vector2((float)(origin.X + ((r.Right - origin.X) * Math.Cos(rRot) - (r.Top - origin.Y) * Math.Sin(rRot))), (float)(origin.Y + ((r.Right - origin.X) * Math.Sin(rRot) + (r.Top - origin.Y) * Math.Cos(rRot))));
points[2] = new Vector2((float)(origin.X + ((r.Right - origin.X) * Math.Cos(rRot) - (r.Bottom - origin.Y) * Math.Sin(rRot))), (float)(origin.Y + ((r.Right - origin.X) * Math.Sin(rRot) + (r.Bottom - origin.Y) * Math.Cos(rRot))));
points[3] = new Vector2((float)(origin.X + ((r.Left - origin.X) * Math.Cos(rRot) - (r.Bottom - origin.Y) * Math.Sin(rRot))), (float)(origin.Y + ((r.Left - origin.X) * Math.Sin(rRot) + (r.Bottom - origin.Y) * Math.Cos(rRot))));
return points;
}