+
+ public double getDistance(double x, double y, double z) {
+ double dX = getDistanceX(x);
+ double dY = getDistanceY(y);
+ double dZ = getDistanceZ(z);
+ return Math.cbrt(dX * dX + dY * dY + dZ * dZ);
+ }
+
+ protected abstract double getDistanceX(double x);
+
+ protected abstract double getDistanceY(double y);
+
+ protected abstract double getDistanceZ(double z);