This Delaunay implementation arose out of the work I did on automated watershed extraction using a system called WaterBuG a while back. It's taken a while to make its way into JTS because there's quite a bit of work involved in turning a codebase targeted at a very specific project into a clean, user-friendly API. Not to mention writing documentation...
But it's there now, and I'll be interested to see if it's of use to JTSer's. There seems to be a sudden surfeit of Delaunay and CDT Java libraries (see here, here, here, here and here), so I make no claims that the JTS one is best-of-breed. But hopefully having a decent implementation easily accessible and embedded in a general-purpose library will meet some needs. Also, my hope is that it will serve as the basis for further algorithms in JTS (such as the much-sought-after Concave Hull!).
Here's some screenshots showing the triangulation API at work:
The input points and constraint segments:
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjzVqQjFYiqIzgorPiDr_uhAmL9TbzxPzeYsqGAsSU415S7139NXcN0a35Fb5UqP02BFNFBj0D-jn6_b1jT99i1LW9TWS9suRjtYgLdXaCcJMYoAW9qu-BYTrk8c3aGVT1K90zZHfCH16A/s400/jts-points.png)
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgNiiyj3LcHB2UJnTLnVPuyue1oqHmZoptXIwioQ_psjMPOsEM-G8ccS1mtXMTu81DicgHMYPrPCr2QKifJwTiTZOpmm9G4JxG_KYHENkhxmDSxGkXDddsmOTOWAKgb5TyurZFEYtk48MM/s400/jts-points-delaunay.png)
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgvsJUB59MwsmqrRJOHkKEu-nDq9FMp2p2u_1PgRfTpMwKK6SyKHLAb6St3oeCjgKnJvvDwIWe6PNc8JEGwZLK6B52zyyac7u6pDyjl1AhzWFwN26d0DbP8K3D11oSBehctZ9MHLRUM9y8/s400/jts-points-conforming.png)