protected RectangleF bounds() { float ulX = Center.X - dimX / 2.0f; float ulY = Center.Y - dimY / 2.0f; Matrix m = new Matrix(); RectangleF rec = new RectangleF(ulX, ulY, dimX, dimY); m.RotateAt(-perspective, GameApp.RectangleFCentre(rec)); return(RotationUtilities.TransformRectangle(rec, m)); }