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!
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!"
habs schon, trotzdem danke
Real programmers don't comment.
If it was hard to write, it should be hard to understand!
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);
}
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);
}
allerdings bekommst du hier ein problem wenn z.B. a.X = -1 und b.X = 1 sind (sich also das das Vorzeichen ändert)
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!"
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
Hallo zusammen,
wenn man nur wissen will, welcher Punkt näher liegt, kann man sich Math.Sqrt sparen.
herbivore