public static void main(String[] args) { SweepHullDelaunay2D d = new SweepHullDelaunay2D(); Random r = new Random(1); final int num = 100000; for(int i = 0; i < num; i++) { final Vector v = new Vector(r.nextDouble(), r.nextDouble()); // System.err.println(i + ": " + FormatUtil.format(v.getArrayRef(), " ")); d.add(v); } d.run(false); } }
@Test public void difficult() { SweepHullDelaunay2D t = new SweepHullDelaunay2D(); t.add(47.82, 13.0); t.add(47.825, 13.0); t.add(47.82, 13.005); t.add(47.825, 13.005); t.add(47.825, 13.01); t.add(47.825, 12.995); t.add(47.83, 12.995); t.add(47.83, 13.); t.add(47.83, 13.005); t.add(47.83, 13.01); t.add(47.83, 12.99); t.add(47.835, 12.99); t.add(47.835, 12.995); t.add(47.835, 13.); t.add(47.835, 13.005); t.add(47.835, 13.01); t.add(47.84, 13.); t.add(47.84, 13.005); t.add(47.84, 13.01); t.add(47.845, 13.005); t.add(47.845, 13.01); t.add(47.85, 13.005); t.add(47.85, 13.01); t.add(47.855, 13.005); t.run(false);
@Test public void degeneratre() { SweepHullDelaunay2D t = new SweepHullDelaunay2D(); t.add(0, 0); t.add(0, 0); t.add(0, 0); t.add(0, 0); t.add(1, 1); t.add(1, 1); t.add(1, 1); t.add(1, 1); t.add(2, 2); t.run(false); // TODO: Not optimal: only 2 are needed. assertEquals("Hull size not as expected.", 3, t.getHull().size()); }
@Test public void random() { SweepHullDelaunay2D t = new SweepHullDelaunay2D(); Random r = new Random(0L); for(int i = 0; i < 1000; i++) { t.add(r.nextDouble(), r.nextDouble()); } t.run(false); assertEquals("Hull size not as expected.", 21, t.getHull().size()); }