public Vector2 Project(Vector2 axis)
{
if (!_axes.Contains(axis))
_axes.Add(axis);
float a = axis.Y / axis.X;
float min = Vector2.Dot(new Vector2(GetCenter().X - (float)(Radius * Math.Sin(a)), GetCenter().Y - (float)(Radius * Math.Cos(a))), axis);
float max = Vector2.Dot(new Vector2(GetCenter().X + (float)(Radius * Math.Sin(a)), GetCenter().Y + (float)(Radius * Math.Cos(a))), axis);
return new Vector2(min, max);
}