美文网首页
eigen求四元数平均数

eigen求四元数平均数

作者: tmsource | 来源:发表于2023-10-17 08:35 被阅读0次

#include<Eigen/Core>

#include<iostream>

#include<Eigen/Geometry>

#include<Eigen/Dense>

using namespace Eigen;

void Calcuc(std::vector<Eigen::Quaterniond> qs)

{

    Eigen::Matrix4d M;

    M.setZero();

    for (size_t i = 0; i < qs.size(); i++)

    {

        Eigen::Vector4d q(qs[i].x(), qs[i].y(), qs[i].z(), qs[i].w());

        Eigen::Matrix4d Mi= q* q.transpose();

        M += Mi;

    }

    std::cout << M << std::endl;

    EigenSolver<Matrix4d> es(M);

    MatrixXcd evecs = es.eigenvectors();//获取矩阵特征向量4*4,这里定义的MatrixXcd必须有c,表示获得的是complex复数矩阵

    MatrixXcd evals = es.eigenvalues();//获取矩阵特征值 4*1

    MatrixXd evalsReal;//注意这里定义的MatrixXd里没有c

    evalsReal = evals.real();//获取特征值实数部分

    MatrixXf::Index evalsMax;

    evalsReal.rowwise().sum().maxCoeff(&evalsMax);//得到最大特征值的位置

    Vector4d q;

    q << evecs.real()(0, evalsMax), evecs.real()(1, evalsMax),evecs.real()(2, evalsMax), evecs.real()(3, evalsMax);

    std::cout <<"final\n" << q << std::endl;

}

int main()

{

    Eigen::AngleAxisd rotation_vector(acos(-1) / 4, Eigen::Vector3d(0, 0, 1));

    Eigen::Quaterniond Q(rotation_vector);

    Eigen::Quaterniond Q1(Eigen::AngleAxisd(acos(-1) / 6, Eigen::Vector3d(0, 0, 1)));

    Eigen::Quaterniond Q2(Eigen::AngleAxisd(acos(-1) / 4, Eigen::Vector3d(0, 0, 1)));

    Eigen::Quaterniond Q3(Eigen::AngleAxisd(acos(-1) / 4.5, Eigen::Vector3d(0, 0, 1)));

    std::cout <<"123Q:" << Q3 << std::endl;

    std::cout << "**********四元数值:x,y,z,w*************" << std::endl;

    std::cout << Q.x() << std::endl;

    std::cout << Q.y() << std::endl;

    std::cout << Q.z() << std::endl;

    std::cout << Q.w() << std::endl;

    auto vc=Q.vec();

    Calcuc({Q,Q1,Q2});

}

相关文章

  • pandas 基础入门: 向量化方法

    求某列数据的平均数(mean) 此处需要用到numpy求test列的平均数: numpy.mean(test)求t...

  • 求平均数

    题目:求给定一组数的平均数,要求去掉一个最大值,去掉一个最小值,再求平均值。 类数组转化为数组:把argument...

  • 平均数教学案例 2022-03-06

    平均数 教学内容:“平均数”北师大版小学数学四年级(下)第六单元 教学目标:1.经历探究求平均数的过程,体会平均数...

  • 2022-06-26

    平均数单元作业目标 1.理解平均数的代表意义,能根据不同的情境选择合适的代表数据; 2.掌握求平均数的方法,会用移...

  • 10.13

    输出 输出小数 求正方形面积 求正方形面积2 求三个数的平均数

  • 作业17-10-13

    输出 输出小数 求正方形面积 求正方形面积2 求三个数的平均数

  • 17-10-13

    输出 输出小数 求正方形的面积 求正方形面积(2) 求三个数的平均数

  • 17-10-13 作业

    输出 输出小数 求正方形的面积 求正方形的面积(2) 求三个数的平均数

  • 2022-06-24

    今天是平均数第三课时,主要根据平均数的意义解决相关实际问题。 课堂上,围绕“求和均分”的方法,让学生认识到求平均数...

  • MySql(六)分组函数

    AVG () 求平均数 SUM () 求和 COUNT () 计数 MAX () 求最大值 MIN () 最小值 ...

网友评论

      本文标题:eigen求四元数平均数

      本文链接:https://www.haomeiwen.com/subject/fibfidtx.html