## com.vividsolutions.jts.algorithm
Class MinimumBoundingCircle

    java.lang.Object
      com.vividsolutions.jts.algorithm.MinimumBoundingCircle

public class MinimumBoundingCircle
extends java.lang.Object

Computes the Minimum Bounding Circle (MBC) for the points in a `Geometry`. The MBC is the smallest circle which contains all the input points (this is sometimes known as the Smallest Enclosing Circle). This is equivalent to computing the Maximum Diameter of the input point set.

The geometric circle can be specified in two equivalent ways, both of which are provide as output by this class:

- As a centre point and a radius
- By the set of points defining the circle. Depending on the number of points in the input and their relative positions, this will be specified by anywhere from 0 to 3 points. 0 or 1 points indicate an empty or trivial input point arrangment. 2 or 3 points define a circle which contains all the input points.

The class also provides a Geometry which approximates the shape of the MBC (although as an approximation it is not guaranteed to `cover` all the input points.)

Author:
  Martin Davis

Constructor Summary
`MinimumBoundingCircle(Geometry geom)` Creates a new object for computing the minimum bounding circle for the point set defined by the vertices of the given geometry.

Method Summary
`Coordinate` `getCentre()` Gets the centre point of the computed Minimum Bounding Circle.
`Geometry` `getCircle()` Gets a geometry which represents the Minimum Bounding Circle.
`Coordinate[]` `getExtremalPoints()` Gets the extremal points which define the computed Minimum Bounding Circle.
`double` `getRadius()` Gets the radius of the computed Minimum Bounding Circle.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### MinimumBoundingCircle

    public MinimumBoundingCircle(Geometry geom)

  Creates a new object for computing the minimum bounding circle for the point set defined by the vertices of the given geometry.

Parameters:
  `geom` - the geometry to use to obtain the point set

Method Detail

### getCircle

    public Geometry getCircle()

  Gets a geometry which represents the Minimum Bounding Circle. If the input is degenerate (empty or a single unique point), this method will return an empty geometry or a single Point geometry. Otherwise, a Polygon will be returned which approximates the Minimum Bounding Circle. (Note that because the computed polygon is only an approximation, it may not precisely contain all the input points.)

  Returns:
    a Geometry representing the Minimum Bounding Circle.

### getExtremalPoints

    public Coordinate[] getExtremalPoints()

  Gets the extremal points which define the computed Minimum Bounding Circle. There may be zero, one, two or three of these points, depending on the number of points in the input and the geometry of those points.

  Returns:
    the points defining the Minimum Bounding Circle

### getCentre

    public Coordinate getCentre()

  Gets the centre point of the computed Minimum Bounding Circle.

  Returns:
    the centre point of the Minimum Bounding Circle

### getRadius

    public double getRadius()

  Gets the radius of the computed Minimum Bounding Circle.

  Returns:
    the radius of the Minimum Bounding Circle