EigenLib) Eigen::Quaterniond * 3.0 不工作?
EigenLib) Eigen::Quaterniond * 3.0 not working?
在 C++ 中,如何将 Eigen::Quaterniond 与标量相乘?
Eigen::Quaterniond q;
q.setIdentity(); // q can be any quaternion.
Eigen::Quaterniond q_new = q * 3.0;
只是无法编译。
本征四元数最初仅用于表示 3D 旋转(曾有使一般操作成为可能的想法:http://eigen.tuxfamily.org/bz/show_bug.cgi?id=560)。
要解决您的问题,您可以使用 .coeffs()
:
访问四元数的系数
Eigen::Quaterniond q_new(q.coeffs() * 3.0);
q.coeffs() += q_new.coeffs(); // etc.
在 C++ 中,如何将 Eigen::Quaterniond 与标量相乘?
Eigen::Quaterniond q;
q.setIdentity(); // q can be any quaternion.
Eigen::Quaterniond q_new = q * 3.0;
只是无法编译。
本征四元数最初仅用于表示 3D 旋转(曾有使一般操作成为可能的想法:http://eigen.tuxfamily.org/bz/show_bug.cgi?id=560)。
要解决您的问题,您可以使用 .coeffs()
:
Eigen::Quaterniond q_new(q.coeffs() * 3.0);
q.coeffs() += q_new.coeffs(); // etc.