Я работаю над проектом инерциальных измерений с использованием 3-осевого акселерометра и Arduino. Я хочу, чтобы Arduino принял значения x, y и z g и выплеснул величину. Поскольку | a | = sqrt (x ^ 2 + y ^ 2 + z ^ 2) требует больших вычислительных ресурсов, я хотел выяснить, существует ли альтернативный алгоритм, который можно было бы использовать для его ускорения (я готов пожертвовать небольшой точностью).
Я читал о Альфа-макс,
Бета-мин метод, но это, кажется, работает только для 2D векторов. Есть ли что-нибудь похожее для 3D векторов?
РЕДАКТИРОВАТЬ: язык программирования C ++
Если у вас есть быстрый способ расчета two-dimensional
величина, то, возможно, three-dimensional
величина может быть реструктурирована в этих условиях.
Трехмерная величина может быть получена из
Теорема Пифагора.
|a| = sqrt(sqrt(x^2 + y^2)^2 + z^2) = sqrt(x^2 + y^2 + z^2)
Других решений пока нет …