Einzelnen Beitrag anzeigen

shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#2

Re: Nächtes Objekt auf einer "Karte" finden

  Alt 13. Apr 2007, 19:04
Ich würde ALLE Entfernungen berechnen und in einer N*N Matrix speichern.
Die Diagonale hat immer den Wert 0.
Type TDistanceTable = array[0..199, 0..199] of Integer; Wenn ein Objekt sich bewegt, dann müssen nur 2*N-1 Entfernungen neu berechnet werden,
alle anderen bleiben gleich.
Die Entfernung wird mit der Format distance=(X2-X1)^2+(y2-Y1)^2 berechnet.
Das Wurzelziehen schenken wir uns. Das vermeidet die Verwendung von Flieskommazahlen.

Nun werden die beiden nächsten Objekte ermittelt.
Das benötigt N*(N-1) Vergleiche, aber heutige PCs erledigen das in Null Komma Nix.
Andreas
  Mit Zitat antworten Zitat