def GenerateChildren(self, axis):
if self.IsLeaf:
return False
x = self.points[:,axis]
med = (self.bounds[axis,0] + self.bounds[axis,1])/2
index = (x<med)
if np.any(index):
self.left = KDNode(self.points[index], self.masses[index], self.softening[index])
self.HasLeft = True
index = np.invert(index)
if np.any(index):
self.right = KDNode(self.points[index],self.masses[index], self.softening[index])
self.HasRight = True
self.points = empty((1,1))
self.masses = empty(1)
self.softening = empty(1)
return True
评论列表
文章目录