public boolean isOutside(Point2D point) { final double d = center.distance(point); if (d > radius) { return true; } return false; }
static boolean same(Point2D pt1, Point2D pt2) { return pt1.distance(pt2) < 0.001; }
public double getDr() { return a.distance(b); }
private double len() { return start.distance(end); }
static double dist(CubicCurve2D.Double seg) { return Point2D.distance(seg.x1, seg.y1, seg.x2, seg.y2); }
static double dist(Line2D.Double seg) { return Point2D.distance(seg.x1, seg.y1, seg.x2, seg.y2); }
private static boolean isClose(Point2D p1, Point2D p2) { return p1.distance(p2) < 0.1; }
public Segment(Point2D a, Point2D b) { this.a = a; this.b = b; this.length = a.distance(b); if (length < 0.0001) { throw new IllegalArgumentException(); } }
double getLength() { return points.get(0).distance(points.get(points.size() - 1)); }
public Circle(Point2D p1, Point2D p2) { center = new Point2D.Double((p1.getX() + p2.getX()) / 2, (p1.getY() + p2.getY()) / 2); radius = p1.distance(center); }
private Point2D putOnCircle(Point2D p) { p = at.transform(p, null); final double coef = p.distance(new Point2D.Double()) / radius; p = new Point2D.Double(p.getX() / coef, p.getY() / coef); return at2.transform(p, null); }
public ExtremityParenthesis2(Point2D contact, double ortho, Point2D p1) { this.contact = new Point2D.Double(contact.getX(), contact.getY()); this.ortho = ortho; final double dx = p1.getX() - contact.getX(); final double dy = p1.getY() - contact.getY(); final double distance1 = Math.round(contact.distance(p1)); // System.err.println("distance=" + distance1); final double len = Math.round(distance1 + EntityImageLollipopInterfaceEye2.SIZE / 2); this.center = new Point2D.Double(contact.getX() + dx / distance1 * len, contact.getY() + dy / distance1 * len); }
private Circle(Point2D p1, Point2D p2, Point2D p3) { final double num1 = p3.getX() * p3.getX() * (p1.getY() - p2.getY()) + (p1.getX() * p1.getX() + (p1.getY() - p2.getY()) * (p1.getY() - p3.getY())) * (p2.getY() - p3.getY()) + p2.getX() * p2.getX() * (-p1.getY() + p3.getY()); final double den1 = 2 * (p3.getX() * (p1.getY() - p2.getY()) + p1.getX() * (p2.getY() - p3.getY()) + p2.getX() * (-p1.getY() + p3.getY())); final double x = num1 / den1; final double den2 = p3.getY() - p2.getY(); final double y = (p2.getY() + p3.getY()) / 2 - (p3.getX() - p2.getX()) / den2 * (x - (p2.getX() + p3.getX()) / 2); center = new Point2D.Double(x, y); radius = center.distance(p1); }
public SegmentCutter(Point2D start, Point2D end, double maxDistance) { final double d = end.distance(start); if (d <= maxDistance) { intermediates.add(end); return; } int nb = 2; while (d / nb > maxDistance) { nb++; } final double deltaX = end.getX() - start.getX(); final double deltaY = end.getY() - start.getY(); for (int i = 1; i < nb; i++) { intermediates.add(new Point2D.Double(start.getX() + i * deltaX / nb, start.getY() + i * deltaY / nb)); } intermediates.add(end); }
private void drawLineInternal(Point2D a, Point2D b) { drawPointInternal(0, 0, a); drawPointInternal(0, 0, b); if (a.distance(b) > quanta) { final Point2D middle = new Point2D.Double((a.getX() + b.getX()) / 2, (a.getY() + b.getY()) / 2); drawLineInternal(a, middle); drawLineInternal(middle, b); } } }
private double length(CubicCurve2D curve) { return curve.getP1().distance(curve.getP2()); }
public void curveTo(CubicCurve2D curve) { final double flatness = curve.getFlatness(); final double dist = curve.getP1().distance(curve.getP2()); if (flatness > 0.1 && dist > 20) { final CubicCurve2D left = new CubicCurve2D.Double(); final CubicCurve2D right = new CubicCurve2D.Double(); curve.subdivide(left, right); curveTo(left); curveTo(right); return; } lineTo(curve.getP2()); }
private void drawCubic(double x, double y, CubicCurve2D.Double bez) { drawPointInternal(x, y, bez.getP1()); drawPointInternal(x, y, bez.getP2()); if (bez.getP1().distance(bez.getP2()) > quanta) { final CubicCurve2D.Double part1 = new CubicCurve2D.Double(); final CubicCurve2D.Double part2 = new CubicCurve2D.Double(); bez.subdivide(part1, part2); drawCubic(x, y, part1); drawCubic(x, y, part2); } }