Smoothing for polylines and polygons. Implementation of George Chaikin's corner-cutting smoothing algorithm. By iterating on calls to the algorithm, more smoothness will be achieved.
Poly original = Poly.create();
original.add(Coordinate.of(0, 0));
original.add(Coordinate.of(10, 0));
original.add(Coordinate.of(10, 10));
original.add(Coordinate.of(0, 10));
original.closePolygon();
Poly smoothed = PolySmoother.chaikin().smooth(original);