public static Vector2 RotateAroundOrigin(Vector2 point, Vector2 origin, double angle)
{
Vector2 real = point - origin;
Vector2 ret = Vector2.Zero;
ret.X = (float)((real.X * Math.Cos(angle)) - (real.Y * Math.Sin(angle)));
ret.Y = (float)((real.X * Math.Sin(angle)) + (real.Y * Math.Cos(angle)));
ret += origin;
return ret;
}