Länge der Strecke zwischen zwei Punkten

Ungetestet aber versuch mal [c]double dist = Math.sqrt(Math.pow(Math.abs(x1 - x0), 2) + Math.pow(Math.abs(y1 - y0), 2));[/c]
 
Den Abstand zwischen zwei Punkten findet man mithilfe einfacher Vektorrechnung heraus:
Der Vektor v von A nach B:

v = B - A

Die Länge dieses Vektors:

√ ( v.x² + v.y² )

ist im Grunde das, was Ikaron schon gepostet hat, vielleicht etwas einfacher.

Ich hoffe, ich konnte dir weiterhelfen 😉
 
"Premature optimization" oder was? Die Distanz auf die beschriebene Art auszurechnen ist nicht nur in bezug auf die Performance schlecht - das sollte man einfach nicht so machen. Wenn jemand zum sortieren eines Arrays sowas vorschlagen würde wie
Java:
for (int i=0; i<x.length; i++) {
      boolean unsorted=true;
      while (unsorted){
         unsorted= false;
         for (int i=0; i < x.length-1; i++) 
            if (x[i] > x[i+1]) {                      
               int temp       = x[i];
               x[i]       = x[i+1];
               x[i+1]     = temp;
               unsorted= true;
            }          
      } 
}
würde man ja auch sagen: WTF? :autsch:
 
Naja BubbleSort ist ja auch eher etwas, was man als naives Sortieren bezeichnen würde. Trotzdem, wenn er da aber wirklich die die Euklidische Distanz braucht, dann braucht er die eben 😉
 
Im Kampf gegen die Windmühle des Vorurteils, Java sei langsam: A* Algorithmus (und den etwas weiter unten folgenden Teil)
Also ich muss dir mal was vorwerfen: als du mit A* anfingst, dacht Ich nämlich v.a. eins: WTF!! Erst gefühlte 10 Stunden nach erstmaligem Lesen des Beitrages hab ich mich mal dazu durchgerungen, dem Link zu folgen und dabei festgestellt, dass dein jetziger Beitrag mit A* ja mal gar nix zu tun hat. Darum hättest du zu dem Thema lieber mit einer anderen Überschrift verlinken sollen: etwa so z.B. Das hätte zu weniger Verwirrung geführt.

Btw.: Ob man nun mit pow arbeitet oder dem Produkt ist glaub ich auch erstmal Latte, es ging lediglich ums Prinzip, behaupte ich jetzt mal.
 
Zuletzt bearbeitet:
Naja, es war auf den Beitrag verlinkt, in dem genau die Euklidische Distanz (auf genau die beschriebene Weise) berechnet wurde, und der Hinweis, dass der nachfolgende Teil (mit dem pow) das relevanteste war, auch wenn DORT wiederum auch erwähnt wurde, dass das in 99% der Fälle egal ist (zur Rechtfertigung sollte ich vielleicht noch sagen, dass das nach einem 8-stündigen Meeting und einer 5-stündigen Zugfahrt geschrieben wurde, und ich schon zu Beginn des Meetings übermüdet war :autsch: 😳 )

Wie relevant das im speziellen ist, ist schwer zu sagen. Aber wenn die Frage so allgemein gestellt wurde, und das ganze im Zusammenhang mit "drawLine" gefragt wird, dann MUSS man davon ausgehen, dass es zeitkritisch ist, weil Zeichnen IMMER zeitkritisch ist 😉 Vielleicht ist es aber auch nur eine Ausprägung des "Pfadfinder-Prinzips": Wenn man Code liest, bei dem es einem kalt den Rücken runterläuft, sollte man überlegen, ob man ihn nicht leicht besser machen könnte.
 

Neue Themen


Zurück
Oben