我正在使用 3 轴加速度计和 Arduino 进行惯性测量项目。我希望 Arduino 接收 x、y 和 z g 值并输出大小。由于 |a| = sqrt(x^2 + y^2 + z^2) 计算量很大,我想研究是否有可以用来加速它的替代算法(我愿意牺牲一点准确性)。
我读到了Alpha-max, Beta-min method,但这似乎只适用于 2D 向量。3D 向量有类似的东西吗?
编辑:程序语言是 C++
我正在使用 3 轴加速度计和 Arduino 进行惯性测量项目。我希望 Arduino 接收 x、y 和 z g 值并输出大小。由于 |a| = sqrt(x^2 + y^2 + z^2) 计算量很大,我想研究是否有可以用来加速它的替代算法(我愿意牺牲一点准确性)。
我读到了Alpha-max, Beta-min method,但这似乎只适用于 2D 向量。3D 向量有类似的东西吗?
编辑:程序语言是 C++
如果您有一种快速计算two-dimensional
幅度的方法,那么也许three-dimensional
可以按照这些术语重新构造幅度。
三维大小可以从 勾股定理推导出来。
|a| = sqrt(sqrt(x^2 + y^2)^2 + z^2) = sqrt(x^2 + y^2 + z^2)
归一化没有平方根的空间向量 如果您使用这个人发布的内容来计算单位向量,那么您可以将原始向量的 x 除以计算出的单位向量的 x。