PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Zugriff auf benachbarte Sektoren



blabub
01-03-2012, 00:05
Hallo zusammen


Ich versuche gerade für folgende Problematik die effizienteste Lösung zu finden:


Ich habe eine Fläche und unterteile diese in x-Sektoren. Anschliessend wähle ich einen Sektor aus und möchte alle benachbarten Sektoren berechnen.

http://s10.postimage.org/b3jntjijp/sectors.jpg (http://postimage.org/image/b3jntjijp/)

Anhand von x und y weiss ich natürlich welche die direkten Nachbarn sind direkt nach Links und Rechts verschoben.

Position: 14
x = 3
y = 9

Nachbar links q: pos - y -> 14 - 9 = 5
Nachbar rechts l: pos + y -> 14 + 9 = 23

Andere Sektoren links: q + 1 und q - 1
Andere Sektoren rechts: l + 1 und l - 1
Sektoren oben: pos-1 und pos+1

Dies sind insgesamt acht Rechenoperationen welche ausgeführt werden müssen.
Gibt es hier einen effektiveren Weg? Ich weiss ehrlich gesagt nicht nach was ich suchen muss, daher liefen alle Google-Suchen ins Leere.


Danke und Gruss
blabub

Thomas Henkel
07-03-2012, 20:02
Da du die Nummern von 8 Sektoren ermittlen willst, wirst du auch 8 Rechenoperationen brauchen. Wenn die Nachbarn öfter benötigt werden, kannst du natürlich einmal für jeden Sektor seine Nachbarn in ein zweidimensionales Array speichern:

nachbarn[14] = (4,5,6,13,15,22,23,24)
nachbarn[15] = (5,6,7,14,16,23,24,25)
usw.
Dann kostet dich der Zugriff später weniger als die Berechnung.

Thomas