Laden...

Punkt X näher an Z als Punkt Y?

Erstellt von Hufy90 vor 14 Jahren Letzter Beitrag vor 14 Jahren 1.935 Views
Hufy90 Themenstarter:in
182 Beiträge seit 2006
vor 14 Jahren
Punkt X näher an Z als Punkt Y?

Hallo Ihr,
könnt Ihr mir sagen, wie ich ermitteln kann ob ein Punkt X näher an Punkt Z liegt als ein Punkt Y? Ich hab schon gekrübelt und gegooglet aber nichts gefunden!

MfG Hufy90

Real programmers don't comment.
If it was hard to write, it should be hard to understand!

6.911 Beiträge seit 2009
vor 14 Jahren

Hallo,

berechne die Distanz ZX und die Datanz ZY und da wo die Distanz kleiner ist da liegt er näher.

Die Distanz berechnet sich mit dem Pythogoras (im kartesischen Koordiantensystem).

mfG Gü

Edit: Frage wurde editiert.

Stellt fachliche Fragen bitte im Forum, damit von den Antworten alle profitieren. Daher beantworte ich solche Fragen nicht per PM.

"Alle sagten, das geht nicht! Dann kam einer, der wusste das nicht - und hat's gemacht!"

Hufy90 Themenstarter:in
182 Beiträge seit 2006
vor 14 Jahren

habs schon, trotzdem danke

Real programmers don't comment.
If it was hard to write, it should be hard to understand!

D
67 Beiträge seit 2009
vor 14 Jahren

Damit bekommst du die Differenz zwischen 2 Punkten.


static double difference(Point a, Point b)
{
     int diffx = (a.X >= 0 && b.X >= 0) || (a.X < 0 && b.X < 0) ? Math.Abs(a.X - b.X) : Math.Abs(a.X) + Math.Abs(b.X);
     int diffy = (a.Y >= 0 && b.Y >= 0) || (a.Y < 0 && b.Y < 0) ? Math.Abs(a.Y - b.Y) : Math.Abs(a.Y) + Math.Abs(b.Y);

     return Math.Sqrt(diffx * diffx + diffy * diffy);
}

47 Beiträge seit 2007
vor 14 Jahren

geht sogar noch einfacher.


static double difference(Point a, Point b)
{
     int diffx = a.X - b.X;
     int diffy = a.Y - b.Y;

     return Math.Sqrt(diffx * diffx + diffy * diffy);
}
D
67 Beiträge seit 2009
vor 14 Jahren

allerdings bekommst du hier ein problem wenn z.B. a.X = -1 und b.X = 1 sind (sich also das das Vorzeichen ändert)

6.911 Beiträge seit 2009
vor 14 Jahren

allerdings bekommst du hier ein problem wenn z.B. a.X = -1 und b.X = 1 sind (sich also das das Vorzeichen ändert)

Warum:

-1 - 1 = -2 -> (-2)^2 = 4

bei dir:
|-1| + |1| = 1 + 1 = 2 -> (2)^2 = 4

ist doch ident, oder?

mfG Gü

Stellt fachliche Fragen bitte im Forum, damit von den Antworten alle profitieren. Daher beantworte ich solche Fragen nicht per PM.

"Alle sagten, das geht nicht! Dann kam einer, der wusste das nicht - und hat's gemacht!"

D
67 Beiträge seit 2009
vor 14 Jahren

sorry, mein fehler (sitz wohl schon zu lange vorm rechner)

ich dacht nur: ne distanz ist immer positiv
was sich dann ja mit ^2 wieder erübrigt

49.485 Beiträge seit 2005
vor 14 Jahren

Hallo zusammen,

wenn man nur wissen will, welcher Punkt näher liegt, kann man sich Math.Sqrt sparen.

herbivore