code: public static double GTSlikeScore(Point3d[] x, Point3d[] y) {
  
  		if (x.length != y.length) {
  			throw new IllegalArgumentException(
  					"Point arrays are not of the same length.");
  		}
  
  		int contacts = 0;
  
  		for (Point3d px : x) {
  			double minDist = Double.MAX_VALUE;
  
  			for (Point3d py : y) {
  				minDist = Math.min(minDist, px.distanceSquared(py));
  			}
  
  			if (minDist > 64)
  				continue;
  			contacts++;
  
  			if (minDist > 16)
  				continue;
  			contacts++;
  
  			if (minDist > 4)
  				continue;
  			contacts++;
  
  			if (minDist > 1)
  				continue;
  			contacts++;
  		}
  
  		return contacts * 25.0 / x.length;
  	}
docs: /*
  Needs documentation!
  
  @param x
  
  @param y
  
  @return