оптимизировать функцию octree octant_determination в переполнении стека

Я строю пространственное октри. Чтобы определить, в какую ветвь / октант следует поместить определенную точку (x, y, z), я использую эту функцию:

if (x>x_centre) {
xsign = 1;
}
else {
xsign = 0;
}

if (y>y_centre) {
ysign = 1;
}
else {
ysign = 0;
}

if (z>z_centre) {
zsign = 1;
}
else {
zsign = 0;
}

return xsign + 2*ysign + 4*zsign;

Возвращает число от 0 до 7, уникальное для каждого октанта. Оказывается, этот фрагмент называется много раз. Это занимает довольно много времени при строительстве больших деревьев.

Есть ли простой способ ускорить этот процесс?

Это уже дает 30-процентное ускорение:

xsign = x>x_centre;
ysign = y>y_centre;
zsign = z>y_centre;

return xsign + 2*ysign + 4*zsign;

Любые другие советы?

1

Решение

Задача ещё не решена.

Другие решения


По вопросам рекламы [email protected]