Kdtree Lookup:PBRT源代码

时间:2012-07-04 14:25:35

标签: c++ lookup kdtree pbrt

我正在尝试使用pbrt源代码实现kdtree来查找n最近点。我有一个分布在3d空间上的点阵列,我需要计算距参考点给定距离内的点数。 那么有人可以指导我如何进行? 基本上,我使用的是与integrators / photonmap.cpp中提到的相同的查找过程(PhotonProcess)。 但不知何故,我最终得到了奇怪的结果。这是我正在使用的代码的一小部分。

const uint32_t nAbsorptionPhotons = 10;         //photons to be found
PhotonProcess proc(nAbsorptionPhotons,arena.Alloc<ClosePhoton>(nAbsorptionPhotons));
float searchDist = 0.f;
Photon p;
p.p.x = 50;    //just a reference point set arbitrarily to 50
p.p.y = 50;
p.p.z = 50;
searchDist = 0;

while (proc.nFound < nAbsorptionPhotons) {
            float md2 = searchDist;
            AbsorptionMap->Lookup(p.p, proc, md2);
            searchDist += 1.f;

      }    
printf("SearchDistance is %f \n", searchDist);

我没有得到searchdist的预期价值。欢迎任何提示想法或建议。

0 个答案:

没有答案