Здравствуйте, тут, я знаю, любят выкладывать свои поделия на всеобщее обозрение (для получения неоценимых советов, например).
Вот хочу представить поделие, которое на множестве выровненных по оси кубоидов строит октодерево (статическое) (#'voxel-octrees:make-tree), а потом с помощью него предоставляет способ быстро искать пересечение заданного луча с этим множеством (#'voxel-octrees:ray-tree-intersection). Стороны вокселя хранятся в voxel-octrees:*voxel*.
https://github.com/shamazmazum/voxel-octrees
Раньше находил такое вот:
http://www.cliki.net/spatial-trees
но даже не знаю, решает ли оно мою задачу.
А теперь про то, почему SBCL УГ. А дело в том, что для сложения/умножения целых чисел он не применяет SSE2. Ололо, дискасс.