Я хотел бы рассчитать расстояния между точками в трехмерной комнате, которые хранятся в двумерном массиве. Точки генерируются случайным образом, и мы предполагаем, что для всех точек возможно, что они находятся в трехмерном пространстве. Точки будут иметь три параметра, как показано здесь: [[3.0, 5.0, 8.0], [6.0, 5.0, 4.0], [3.0, 3.0, 9.0], [8.0, 0.0, 3.0]]
Я зашел так далеко, как мне кажется, но я, похоже, ошибаюсь. Есть ли у вас какие-либо предложения? Я получаю индекс вне границ.
Публичный класс Очки {
public static class points {
static String distanceBetweenPoints(int a) {
// int a = number of Points
int columns = 3;
// every point has three coordinates x,y,z
double[][] points = new double[a][columns];
// generating the points with random method:
for (int i = 0; i < a; i++) {
for (int j = 0; j < columns; j++) {
points[i][j] = (int) (Math.random() * 10);
}
}
double[][] distances = new double[points.length][points.length];
for (int i = 0; i < distances.length; i++) {
for (int j = 0, k = 0; j < distances.length; j++ )
for (int l = 0, m = 0; j < points[0].length; l++, m++) {
distances[i][j] = Math.sqrt((Math.pow((points[i][k] - points[l][k]),2)
+ Math.pow((points[j][1] - points[l][1]), 2)
+ Math.pow((points[j][2] - points[l][2]), 2)));
}
}
return Arrays.deepToString(distances);
}
public static void main(String[] args) {
System.out.println(distanceBetweenPoints(4));
}
}
}