private void KineticTranslateChildren(double xTranslationDelta, double yTranslationDelta)
        {
            // Determine the distance of the last finger movement.
            var distance = Math.Sqrt(Math.Pow(xTranslationDelta, 2) + Math.Pow(yTranslationDelta, 2));

            // Determine the proportion of the x and y components.
            var xProportion = Math.Abs(distance / xTranslationDelta);
            var yProportion = Math.Abs(distance / yTranslationDelta);

            // Determine the max translation distance. The idea is to stop the kinetic scrolling when there are no more visible Hexes.
            var farthestHexes = _space.GetFarthestHexes(new Hex(0, 0));
            var farthestHex   = farthestHexes.Any() ? farthestHexes.First() : new Hex(0, 0);

            var(farX, farY) = _hex2Pix.ToPix(farthestHex, Size);
            var farthestHexDistanceToCenter = Math.Max(_content.Width / 2.0d, _content.Height / 2.0d) + Math.Sqrt(Math.Pow(farX, 2) + Math.Pow(farY, 2));

            // Continue moving in the same direction
            this.AnimateKinetic(KineticScrollAnimationName,
                                (sign, velocity) =>
            {
                // Direction is kept by accounting for the proportion of the x/y component.
                _xTranslation += Math.Sign(xTranslationDelta) * velocity / xProportion;
                _yTranslation += Math.Sign(yTranslationDelta) * velocity / yProportion;
                ScaleTranslateChildren();

                // If the kinetic scrolling translated past the max distance then stop.
                var totalTranslation = Math.Sqrt(Math.Pow(_xTranslation, 2) + Math.Pow(_yTranslation, 2));
                return(totalTranslation <= farthestHexDistanceToCenter);
            },
                                distance,
                                0.05d,
                                () =>
            {
                // When the kinetic animation is finished, just snap to the nearest Hex
                SnapToNearestHex();
            });
        }