当前位置: 首页>>代码示例>>C++>>正文


C++ Pose::rotationMatrix方法代码示例

本文整理汇总了C++中Pose::rotationMatrix方法的典型用法代码示例。如果您正苦于以下问题:C++ Pose::rotationMatrix方法的具体用法?C++ Pose::rotationMatrix怎么用?C++ Pose::rotationMatrix使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Pose的用法示例。


在下文中一共展示了Pose::rotationMatrix方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: apply_increment

    void apply_increment(Pose &obj, const double increment[SE3Type::num_parameters-1], const Adl&){
        Eigen::Matrix3d R = obj.rotationMatrix();

        v::apply_rotation(R, Eigen::Vector3d(increment[0], increment[1], increment[2]));
        obj.data[0] = R(2, 1); 
        obj.data[1] = R(0, 2);
        obj.data[2] = R(1, 0);

        for (size_t i=3; i<6;  ++i){
            obj.data[i] += increment[i]; 
        }

    }
开发者ID:muyuanlin,项目名称:slam,代码行数:13,代码来源:main.cpp

示例2: if

    template<int I> void apply_small_increment(Pose &obj, double d, v::numeric_tag<I>, const Adl&){
        if (I < 3){
            Eigen::Matrix<double, 3, 3> R = obj.rotationMatrix();

            if      (I == 0) v::apply_small_rotation_x(R, d);
            else if (I == 1) v::apply_small_rotation_y(R, d);
            else if (I == 2) v::apply_small_rotation_z(R, d);

            obj.data[0] = R(2, 1); 
            obj.data[1] = R(0, 2);
            obj.data[2] = R(1, 0);
        }
        else{
            obj.data[I] += d;
        }
    } 
开发者ID:muyuanlin,项目名称:slam,代码行数:16,代码来源:main.cpp


注:本文中的Pose::rotationMatrix方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。