@Override public double computeDistance(Point3D_F64 pt) { return Math.abs(Distance3D_F64.distance(model, pt)); }
@Override public double computeDistance(Point3D_F64 pt) { return Math.abs(Distance3D_F64.distance(model, pt)); }
@Override public double computeDistance(Point3D_F64 pt) { return Math.abs(Distance3D_F64.distance(model, pt)); }
@Override public void computeDistance(List<Point3D_F64> points, double[] distance) { for (int i = 0; i < points.size(); i++) { distance[i] = Math.abs(Distance3D_F64.distance(model, points.get(i))); } } }
@Override public void computeDistance(List<Point3D_F64> points, double[] distance) { for (int i = 0; i < points.size(); i++) { distance[i] = Math.abs(Distance3D_F64.distance(model, points.get(i))); } } }
@Override public void computeDistance(List<Point3D_F64> points, double[] distance) { for (int i = 0; i < points.size(); i++) { distance[i] = Math.abs(Distance3D_F64.distance(model, points.get(i))); } } }
@Override public double computeDistance(PointVectorNN pv) { double acute = model.line.slope.dot(pv.normal); if (Math.abs(acute) > tolAngleCosine) return Double.MAX_VALUE; return Math.abs(Distance3D_F64.distance(model, pv.p)); }
@Override public double computeDistance(PointVectorNN pv) { if (Math.abs(n.dot(pv.normal)) < tolAngleCosine) return Double.MAX_VALUE; return Math.abs(Distance3D_F64.distance(model, pv.p)); }
public double score(PlaneGeneral3D_F64 plane, Point3D_F64 point) { double e = Distance3D_F64.distance(plane, point); // gaussian best for fitting, small 1/(e*e) component for large errors return d.density(e) + distAmplitude * 1e-12 / (1e-10 + (e * e)); } };
@Override public double computeDistance(PointVectorNN pv) { n.set(pv.p.x - model.center.x, pv.p.y - model.center.y, pv.p.z - model.center.z); n.normalize(); if (Math.abs(n.dot(pv.normal)) < tolAngleCosine) return Double.MAX_VALUE; return Math.abs(Distance3D_F64.distance(model, pv.p)); }