Punti di vicinato (2d)

3

Ho un sistema di coordinate 2D con alcuni punti su di esso, come questo:

Ora sto cercando un algoritmo (o solo un approccio) per trovare i punti vicini. Quindi, se hai le coordinate di un punto e un elenco di altri, come trovare tutti i vicini di quel punto? Non ho davvero idea di come farlo.

Se guardo il punto arancione, il grigio, il blu e il verde chiaro ne sono ovviamente i vicini, ma per quanto riguarda gli altri?

Potresti mettere cerchi attorno ai punti ... e guarda se un altro dei punti si trova in questa cerchia. Questi punti dovrebbero essere elencati come prossimi al primo punto.

Cosa ho avuto: un array con tuple in esso, ogni tupla che rappresenta il (x, y) -coinota di un punto.

Cosa volevo: Un dizionario / mappa: i tasti sono tutte le tuple dell'elenco precedente e il valore di tale tupla punto dovrebbe essere un elenco di tutti i suoi vicini.

Problemi:

  • Come definisco cos'è un vicinato di due punti? Quali sarebbero gli input per tale definizione (ad es. Soglia di prossimità)?
  • Quale sarebbe una strategia per progettare e implementare questo?
posta palsch 01.03.2016 - 20:06
fonte

1 risposta

10

Definirò i "punti adiacenti" come punti che condividono un bordo con l'area del punto in diagramma di Voronoi .

Per calcolare quali punti sono "vicini" nel diagramma di voronoi, usi triangolazione di Delaunay .

    
risposta data 01.03.2016 - 21:28
fonte

Leggi altre domande sui tag