Мое назначение - создать основной класс, в котором я инициализирую значение любой точки, находящейся в (0,0,0), и иметь возможность доступа и изменять все три значения (x, y, z) индивидуально. Для этого я использовал геттеры и сеттеры. Моя следующая задача - создать метод в моем основном классе (который я назову «distanceTo»), который вычисляет расстояние между двумя точками.Расчет расстояния между двумя точками в 3D
Как мне создать метод «distanceTo
», который вычисляет расстояние между двумя точками, принимая координаты x, y, z? Я полагаю, что мой ответ будет иметь отношение к sqrt((x1-x2)^2+(y1-y2)^2+(z1-z2)^2)
, но я не знаю, как я могу написать это в своем методе в моем основном классе, если мои точки не определены до тех пор, пока мой второй класс тестовой точки
Пока у меня есть только два точки, но я ищу более общий ответ (так что, если бы я создал три точки, p1 p2 и p3, я мог бы рассчитать расстояние между p1 и p2 или расстояние между p2 и p3 или расстояние между p1 и p3.
Мой главный класс:
package divingrightin;
public class Point3d {
private double xCoord;
private double yCoord;
private double zCoord;
public Point3d(double x, double y, double z){
xCoord = x;
yCoord = y;
zCoord = z;
}
public Point3d(){
this (0,0,0);
}
public double getxCoord() {
return xCoord;
}
public void setxCoord(double xCoord) {
this.xCoord = xCoord;
}
public double getyCoord() {
return yCoord;
}
public void setyCoord(double yCoord) {
this.yCoord = yCoord;
}
public double getzCoord() {
return zCoord;
}
public void setzCoord(double zCoord) {
this.zCoord = zCoord;
}
//public double distanceTo(double xCoord, double yCoord, double zCoord){
}
Мой класс с контрольными точками: пакет ди vingrightin;
public class TestPoints {
public static void main(String[] args) {
Point3d firstPoint = new Point3d();
firstPoint.setxCoord(2.2);
firstPoint.setyCoord(1);
firstPoint.setzCoord(5);
//System.out.println(firstPoint.getxCoord());
Point3d secondPoint = new Point3d();
secondPoint.setxCoord(3.5);
secondPoint.setyCoord(22);
secondPoint.setzCoord(20);
}
}
Вы хотите метод distanceTo в классе «Point3d». Что-то вроде: 'public double distanceTo (Point3d p) {...}' там вы можете делать вычисления расстояний – Dude