Я создаю своего рода шагомер на браслете с акселерометром MPU6050, и для этого я полагаюсь на следующий код https://github.com/Perseus14/Pedometer/blob/master/Pedometer.ino . Мне удалось заставить код работать, но я сомневаюсь в следующем расчете, сделанном в алгоритме:
int mag = sqrt (pow (x - угол_x, 2) + pow (y - угол_y, 2) + pow (z - угол_z, 2)); (А)
В этой строке кода, которую я помещаю, он вычисляет вектор величины сигнала, но чтобы сделать этот расчет, x, y и z эквивалентны уже полученным предыдущим углам, а angle_x, angle_y, angle_z уравновешивают текущие. Мой вопрос связан с этим вычитанием значений, потому что формула для вычисления вектора величины знака выглядит следующим образом:
int mag = sqrt (pow (x, 2) + pow (y, 2) + pow (z, 2)); (Б)
Кто-нибудь может понять, почему значения были вычтены в первой формуле (A) перед вычислением вектора величины сигнала?
Спасибо!