As noted above, can you make this use [`java.awt.geom.Point2D`](http://docs.oracle.com/javase/7/docs/api/java/awt/geom/Point2D.html)/[`java.awt.geom.Point2D.Double`](http://docs.oracle.com/javase/7/docs/api/java/awt/geom/Point2D.Double.html) instead of two-dimensional arrays (and verify that the algorithm works with floating-point coordinates, not just integers)?