import org.apache.commons.math3.ml.distance.EuclideanDistance;
import java.text.DecimalFormat;
public class Point {
int index;
double x, y, z;
int clazz;
DecimalFormat four = new DecimalFormat("#0.0000");
public Point(int index, double x, double y, double z, int clazz) {
this.index = index;
this.x = x;
this.y = y;
this.z = z;
this.clazz = clazz;
}
public double distance(Point p) {
EuclideanDistance distance = new EuclideanDistance();
return distance.compute(new double[]{p.x, p.y, p.z}, new double[]{x, y, z});
}
public int getIndex() {
return index;
}
public double getX() {
return x;
}
public double getY() {
return y;
}
public double getZ() {
return z;
}
public int getClazz() {
return clazz;
}
public String serialize() {
StringBuilder sb = new StringBuilder();
sb.append(Integer.toString(index)).append("\t");
sb.append(four.format(x)).append("\t").append(four.format(y)).append("\t").append(four.format(z)).append("\t");
sb.append(Integer.toString(clazz));
return sb.toString();
}
public String serializeXYZ() {
StringBuilder sb = new StringBuilder();
sb.append(four.format(x)).append("\t").append(four.format(y)).append("\t").append(four.format(z)).append("\t");
return sb.toString();
}
public void setClazz(int clazz) {
this.clazz = clazz;
}
public void setIndex(int index) {
this.index = index;
}
}