Эффективное вычисление величины 3D вектора

Я работаю над проектом инерциальных измерений с использованием 3-осевого акселерометра и Arduino. Я хочу, чтобы Arduino принял значения x, y и z g и выплеснул величину. Поскольку | a | = sqrt (x ^ 2 + y ^ 2 + z ^ 2) требует больших вычислительных ресурсов, я хотел выяснить, существует ли альтернативный алгоритм, который можно было бы использовать для его ускорения (я готов пожертвовать небольшой точностью).

Я читал о Альфа-макс,
Бета-мин метод
, но это, кажется, работает только для 2D векторов. Есть ли что-нибудь похожее для 3D векторов?

РЕДАКТИРОВАТЬ: язык программирования C ++

1

Решение

Если у вас есть быстрый способ расчета two-dimensional величина, то, возможно, three-dimensional величина может быть реструктурирована в этих условиях.

Трехмерная величина может быть получена из
Теорема Пифагора.

|a| = sqrt(sqrt(x^2 + y^2)^2 + z^2) = sqrt(x^2 + y^2 + z^2)
1

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

Других решений пока нет …

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