Haskell中空间索引的实现方式?

14

是否有Haskell中好的空间索引实现,如R树、kd树等...

3个回答

9
我所知道的唯一实现是spacepart包,但该包似乎不完整且已被放弃,还有KdTree包,它只提供了一个kd-tree类型,没有更高的雄心壮志。
我已经把这个内容放在待办列表上有一段时间了,因为有几次我需要空间索引数据结构,但并不急于停下来编写一个像样的实现。

1
gloss包也有四叉树——我不知道它们的质量如何:http://hackage.haskell.org/package/gloss-1.1.0.0 - sclv
@sclv:很酷,我不知道这一点。对于四叉树,我不一定想仅依赖于gloss,但也许可以说服作者将其提取为单独的软件包。 - C. A. McCann
这是Ben Lippmeier的话,所以我认为A)他在性能方面知道自己在做什么,无论他是否真正参与其中;B)他非常乐意将其作为一个软件包提供。 - sclv

3
Glome光线追踪器使用边界间隔层次结构。
它也非常模块化,因此您可能需要从GlomeTraceGlomeVec开始。
我正在通过点/体积查询和射线相交进行碰撞测试。它似乎表现得非常好。

我应该指出,使用 Glome API 的一些功能时遇到了问题...内部/外部测试的工作方式并不如我所预期。 - Thomas

1

在Hackage上有一个RTree包。它经过测试,但不像containers包那样复杂。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接