Abstand zwischen zwei Punkten in 3D berechnen

Meine Aufgabe ist es, eine Hauptklasse zu erstellen, in der ich den Wert eines beliebigen Punktes auf (0,0,0) initialisiere und in der Lage bin, auf alle drei Werte (x, y, z) einzeln zuzugreifen und sie zu mutieren. Zu diesem Zweck habe ich Getter und Setter verwendet. Meine nächste Aufgabe besteht darin, eine Methode in meiner Hauptklasse (die ich "distanceTo" nennen werde) zu erstellen, die den Abstand zwischen zwei Punkten berechnet.

Wie erstelle ich die Methode "distanceTo "berechnet die Entfernung zwischen zwei Punkten unter Berücksichtigung der x-, y- und z-Koordinaten? Ich gehe davon aus, dass meine Antwort etwas mit @ zu tun hasqrt((x1-x2)^2+(y1-y2)^2+(z1-z2)^2) aber ich weiß nicht, wie ich das in meiner Methode in meiner Hauptklasse schreiben kann, wenn meine Punkte erst in meiner zweiten Testpunktklasse definiert sind

isher habe ich nur zwei Punkte, aber ich suche nach einer allgemeineren Antwort (wenn ich also drei Punkte, p1, p2 und p3, erstellt hätte, könnte ich den Abstand zwischen p1 und p2 oder den Abstand zwischen p2 und p3 oder den Abstand zwischen p2 und p3 berechnen) Abstand zwischen p1 und p3.

Meine Hauptklasse:

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 ){


    }

Meine Klasse mit den Testpunkten: package divingrightin;

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);

    }

}

Antworten auf die Frage(10)

Ihre Antwort auf die Frage