2011-09-01 14 views

risposta

9

Le uniche implementazioni io sappia sono the spacepart package, che sembra essere incompleto e abbandonato, e the KdTree package, che come puoi immaginare non ha ambizioni oltre a fornire un tipo di albero kd.

Questo è qualcosa che è stato sul mio elenco TODO per un po ', poiché ci sono state diverse occasioni in cui volevo una struttura di dati dell'indice spaziale, ma non ne volevo uno abbastanza grave da fermare tutto e scrivere un'implementazione decente sul individuare.

+1

Il pacchetto di gloss ha anche quadriflessioni - nessuna idea della loro qualità: http://hackage.haskell.org/package/gloss-1.1.0.0 – sclv

+0

@sclv: Cool, non lo sapevo. Non vorrebbe necessariamente dipendere dalla lucentezza solo per un quadrifoglio, ma forse l'autore potrebbe essere persuaso ad estrarlo come un pacchetto separato. –

+0

È Ben Lippmeier, quindi presumo A) che sappia cosa sta facendo w.r.t. performance, indipendentemente dal fatto che abbia davvero lavorato su di esso e B) sarebbe stato molto disponibile a tirarlo fuori come pacchetto. – sclv

3

Glome Raytracer utilizza una gerarchia a intervalli di delimitazione.

Anche esso è ben modulare, quindi probabilmente vorrai iniziare con GlomeTrace e GlomeVec.

Sto eseguendo test di collisione tramite query point/volume e incroci di raggio. Sembra funzionare molto bene.

+0

Vorrei sottolineare che ho avuto problemi nell'usare alcune delle funzionalità dell'API di Glome ... I test interni/esterni non funzionano come mi aspetterei. – Thomas

1

c'è un pacchetto RTree su Hackage. È testato, ma non è così sofisticato come il pacchetto contenitori.