public static List<TriangulationPoint> uniformDistribution( int n, double scale ) { ArrayList<TriangulationPoint> points = new ArrayList<TriangulationPoint>(); for( int i=0; i<n; i++ ) { points.add( new TPoint( scale*(0.5 - Math.random()), scale*(0.5 - Math.random()) ) ); } return points; }
protected int addPt(Coordinate coordinate) { TPoint pt = new TPoint(delaunayData.r(coordinate.x), delaunayData.r(coordinate.y), Double.isNaN(coordinate.z) ? 0 : delaunayData.r(coordinate.z)); Integer index = pts.get(pt); if(index == null) { index = maxIndex.getAndAdd(1); pts.put(pt, index); } return index; }
protected int addPt(Coordinate coordinate) { TPoint pt = new TPoint(delaunayData.r(coordinate.x), delaunayData.r(coordinate.y), Double.isNaN(coordinate.z) ? 0 : delaunayData.r(coordinate.z)); Integer index = pts.get(pt); if(index == null) { index = maxIndex.getAndAdd(1); pts.put(pt, index); } return index; }
protected int addPt(Coordinate coordinate) { TPoint pt = new TPoint(delaunayData.r(coordinate.x), delaunayData.r(coordinate.y), Double.isNaN(coordinate.z) ? 0 : delaunayData.r(coordinate.z)); Integer index = pts.get(pt); if(index == null) { index = maxIndex.getAndAdd(1); pts.put(pt, index); } return index; }
public static List<TriangulationPoint> uniformGrid( int n, double scale ) { double x=0; double size = scale/n; double halfScale = 0.5*scale; ArrayList<TriangulationPoint> points = new ArrayList<TriangulationPoint>(); for( int i=0; i<n+1; i++ ) { x = halfScale - i*size; for( int j=0; j<n+1; j++ ) { points.add( new TPoint( x, halfScale - j*size ) ); } } return points; } }
@Override public void prepareTriangulation(TriangulationContext<?> tcx) { triangles.clear(); for (LineSegment2d l : segmentSet) { TriangulationPoint tp1, tp2; if (!pointSet.containsKey(l.getBegin())) { tp1 = new TPoint(l.getBegin().x, l.getBegin().y); pointSet.put(l.getBegin(), tp1); points.add(tp1); } else { tp1 = pointSet.get(l.getBegin()); } if (!pointSet.containsKey(l.getEnd())) { tp2 = new TPoint(l.getEnd().x, l.getEnd().y); pointSet.put(l.getEnd(), tp2); points.add(tp2); } else { tp2 = pointSet.get(l.getEnd()); } tcx.newConstraint(tp1, tp2); } segmentSet.clear(); pointSet.clear(); tcx.addPoints(points); } }
TPoint tp = new TPoint(p.x, p.y); pointSet.put(p, tp); points.add(tp);
public TPoint centroid() { double cx = ( points[0].getX() + points[1].getX() + points[2].getX() ) / 3d; double cy = ( points[0].getY() + points[1].getY() + points[2].getY() ) / 3d; return new TPoint( cx, cy ); }