Berechnung der Reststrecke bei Graphen

Mika34

Bekanntes Mitglied
Hallo,

Ich habe vor mir einen Graphen, welcher über Kanten verbunden ist. Wenn ich nun zum Beispiel:
Java:
(1,1)------(6,1)-------(12,1)------------(20,1)
habe und ich setze nun einen Punkt auf die Kante bei (8,1). Hier soll der Kopf meines Objektes sein. Das Objekt hat die Länge 5. Jetzt möchte ich prüfen, ob dieses Objekt sich auf die Kante platzieren lässt oder ob es nicht zu lang dafür ist (es ist in diesem Fall nicht zu lang, aber ich möchte i.A. prüfen)
Code:
public double getDistance(int newStartXCoordiante, double newStartYCoordiante, double newEndXCoordiante, double newEndYCoordiante){
        return Math.sqrt(Math.pow(Math.abs(newEndXCoordiante - newStartXCoordiante), 2) + Math.pow(Math.abs(newEndYCoordiante - newStartYCoordiante), 2));
    }
Im Allgemeinen lässt sich die Distanz zwischen zwei Punkten so berechnen.
Ich habe mir überlegt einen fiktiven Knoten an (8,1) zu setzen und dann damit die Länge zu erfassen von "(6,1) - der Länge des Objekts" aus gesehen.
Ist dies ein legitimer Weg oder ist das schlichtweg falsch?
 
Ich dachte deine Kanten sind nur vertikal und horizontal? Wozu brauchst du dann den Satz des Pythagoras?

Wenn du deinen Zug auf die Kante setzt, dann ist der Zug doch so:
Code:
(1,1)------(6,1)-------(12,1)------------(20,1)
(1,1)------(6,1)--xxxxx(12,1)------------(20,1)

Also kannst du doch die x-Werte von 2 Punkten nehmen, subtrahieren und mit der Länge des Zuges vergleichen. (bzw. y-Werte für vertikal)
 

Zurück
Oben