Ich schreibe einen Code in C++ und möchte den Abstand zwischen zwei Punkten berechnen. Frage 1:Effiziente Methode zum Finden der Entfernung zwischen zwei 3D-Punkten
I haben zwei Punkte P (x1, y1, z1) und Q (x2, y2, z2), wobei x, y und z Hin- und Herbewegungen/verdoppelt.
Ich möchte den Abstand zwischen diesen beiden Punkten finden. Eine Möglichkeit, es zu tun ist:
square_root (x_diff x_diff + y_diff y_diff + z_diff * z_diff)
Aber das ist wahrscheinlich nicht die effizienteste Art und Weise. (Zum Beispiel eine bessere Formel oder eine fertige Anwendung in math.h
etc)
Frage 2:
Gibt es eine bessere Art und Weise, wenn ich möchte nur feststellen, ob P und Q in der Tat sind die gleichen Punkte?
Meine Eingaben sind x, y und z Koordinaten der beiden Punkte.
Vielen Dank
Auf Frage 2 - was hält Sie davon ab, nur jede Komponente der 3D-Koordinate zu vergleichen? –
@Tom Duckering: "Was hält dich ..." - Mein Gehirn! Ich brauche eine Pause. – memC
@Tom Die Tatsache, dass ein Vergleich eigentlich eine ziemlich langsame Operation ist (wahrscheinlich beinhaltet eine Verzweigung und daher ein gewisses Maß an Pipeline-Flush), und dass der Vergleich von Gleitkommawerten für die Gleichheit nie eine gute Idee ist. – James