Это должно работать нормально (между прочим, хороший вопрос - забавная небольшая задача, поскольку существует множество способов сделать это)до pointSmoother
.Объект имеет 4 метода: pushPoint()
, clear()
, getPoints()
и average()
.Кроме того, вы можете указать, сколько координат имеет точка и сколько точек (максимум) сохранить.Я использовал ваш пример 2 координат на точку и 10 точек за раз.
Теперь я сделал предположение, что вы получаете свои значения в наборах по 2 за раз.Давайте назовем эти 2 значения x
и y
.Получив их, добавьте их к вещи, используя pointSmoother.pushPoint(x, y);
.Затем вы можете получить «среднюю точку», вызвав pointSmoother.average()
, который вернет массив с (в данном случае) 2 значениями: средний х и средний у., вы можете вызвать pointSmoother.getPoints()
, который вернет массив точек.И наконец, pointSmoother.clear()
очистит массив предыдущих значений.
Вот демо-версия: http://jsfiddle.net/tapqs/1/