7

2D domanda indicizzazione spaziale:Cos'è chiamato un quadruplo senza squame?

Come si chiama una struttura di dati che è essenzialmente un infinito * quadtree cui nodi contengono né coordinate assolute né squame assoluti - in cui il sistema di ogni nodo Coordinate è stata normalizzata all'unità square (0,0) - (1,1), e in cui il nodo di primo livello non è stato fissato in modo assoluto?

Si tratta di un quadrifoglio, ovviamente - ma che tipo di quadrifoglio è? (C'è un nome comune? Ho visto dozzine di tipi di quadranti nominati e definiti in letteratura, ma non questo particolare.)

Per eseguire il rendering di una scena, viene fornito un nodo iniziale (non necessariamente la radice), la sua dimensione in pixel e la sua posizione sullo schermo. Quindi si disegna tutti gli oggetti all'interno del nodo ridimensionando le loro coordinate utilizzando una matrice di trasformazione corrente, che si preme sulla pila e si dimezza mentre si scende lungo la struttura. Le coordinate assolute dei nodi sono quindi disponibili solo con variabili di lavoro temporanee durante il rendering e non sono contenute nella struttura dati stessa.

Se un oggetto all'interno di un nodo si sposta all'esterno del nodo (ad esempio all'esterno del quadrato dell'unità), lo si passa al genitore per la riassegnazione a un altro nodo. Se un oggetto diventa frammentato (ad esempio, un asteroide colpito da un proiettile), le parti più piccole vengono passate ai nodi figli, che devono scalare le coordinate in modo appropriato per mantenere la normalizzazione dell'unità quadrata all'interno di ciascun nodo.

La differenza chiave qui dalle tradizionali implementazioni quadrifoglio utilizzate nell'indicizzazione spaziale è che le coordinate degli oggetti sono sempre relative al sistema di coordinate del nodo all'interno del quale sono contenute. Questo relativismo si applica non solo alla posizione, ma anche alla scala.

* Infinito per la mancanza di coordinate assolute; anche le coordinate a virgola mobile a doppia precisione impartiscono limiti di posizione e dimensioni quando vengono utilizzate per il posizionamento assoluto.

+3

Fred? (stavo solo scherzando). – bmargulies

risposta

1

Hai una griglia di quadranti da come sembra. Tra ogni quadrato di coordinate intere, sembra che tu stia costruendo un quadrifoglio su quella parte della griglia.

2

Sì, è un ... "quadrifoglio incatenato alla griglia"? Sei limitato al valore int32 più alto e più basso se è ciò che stai utilizzando per grid coord.

Problemi correlati