я просто иду за борт сюда?
, Возможно;)
Другой подход должен был бы использовать частный / защищенный метод на самом деле сделать добирающийся (кэширование/дб/и т.д.) и общедоступная обертка для него, которая увеличивает количество:
PHP:
public function getName() {
$this->incrementNameCalled();
return $this->_getName();
}
protected function _getName() {
return $this->name;
}
и затем из самого объекта:
PHP:
$name = $this->_getName();
Этот путь можно все еще использовать тот первый аргумент в пользу чего-то еще (как отправка флага для действительно ли к используемым кэшированным данным здесь, возможно).
Код, который вы просматриваете, пытается выполнить средневзвешенное значение 8 точек куба с вершинами, которые находятся в вашем наборе данных, и который включает точку, которую вы пытаетесь найти. для.
Для точки p
// Find the x, y and z values of the
// 8 vertices of the cube that surrounds the point
x0 = Math.floor(p.x / 5);
x1 = Math.floor(p.x / 5) + 1;
y0 = Math.floor(p.y / 5);
y1 = Math.floor(p.y / 5) + 1;
z0 = Math.floor(p.z / .1);
z1 = Math.floor(p.z / .1) + 1;
// Look up the values of the 8 points surrounding the cube
p000 = dataset[x0][y0][z0];
p001 = dataset[x0][y0][z1];
// ...
// Find the weights for each dimension
x = (x - x0) / 5;
y = (y - y0) / 5;
z = (z - z0) / .1;
// Compute the guess using the method you found
// ...