function getPossiblyShrunkEllipsoid(ellipsoid, minimumHeight, result) {
  if (
    defined(minimumHeight) &&
    minimumHeight < 0.0 &&
    ellipsoid.minimumRadius > -minimumHeight
  ) {
    const ellipsoidShrunkRadii = Cartesian3.fromElements(
      ellipsoid.radii.x + minimumHeight,
      ellipsoid.radii.y + minimumHeight,
      ellipsoid.radii.z + minimumHeight,
      scratchEllipsoidShrunkRadii,
    );
    ellipsoid = Ellipsoid.fromCartesian3(ellipsoidShrunkRadii, result);
  }
  return ellipsoid;
}
Computes a point that can be used for horizon culling of a rectangle.  If the point is below
the horizon, the ellipsoid-conforming rectangle is guaranteed to be below the horizon as well.
The returned point is expressed in the ellipsoid-scaled space and is suitable for use with
{@link EllipsoidalOccluder#isScaledSpacePointVisible}.

@param {Rectangle} rectangle The rectangle for which to compute the horizon culling point.
@param {Ellipsoid} ellipsoid The ellipsoid on which the rectangle is defined.  This may be different from
                   the ellipsoid used by this instance for occlusion testing.
@param {Cartesian3} [result] The instance on which to store the result instead of allocating a new instance.
@returns {Cartesian3} The computed horizon culling point, expressed in the ellipsoid-scaled space.