使用特征库从旋转矩阵中获取横摇、俯仰和偏航

2024-01-01

我需要从旋转矩阵中提取横滚、俯仰、偏航角,并且我想确保我所做的事情是正确的。

    Eigen::Matrix< simFloat, 3, 1> rpy = orientation.toRotationMatrix().eulerAngles(0,1,2);
    const double r = ((double)rpy(0));
    const double p = ((double)rpy(1));
    const double y = ((double)rpy(2));

那是对的吗?因为我在这里读到:http://eigen.tuxfamily.org/dox/group__Geometry__Module.html#gad118fececd448d7485ffea4858775e5a http://eigen.tuxfamily.org/dox/group__Geometry__Module.html#gad118fececd448d7485ffea4858775e5a

当我在描述的最后说,间隔是定义角度时,我有点困惑。


我想这就是您正在寻找的。取决于我们如何使用m.eulerAngles(0, 1, 2); 这是获取 rotx, roty, rotz 的代码,并用以下命令重建rotx*roty*rotz

Matrix3f m;

m = AngleAxisf(0.25*M_PI, Vector3f::UnitX())
  * AngleAxisf(0.5*M_PI, Vector3f::UnitY())
  * AngleAxisf(0.33*M_PI, Vector3f::UnitZ());

cout << "original rotation:" << endl;
cout << m << endl << endl;

Vector3f ea = m.eulerAngles(0, 1, 2); 
cout << "to Euler angles:" << endl;
cout << ea << endl << endl;

Matrix3f n;
n = AngleAxisf(ea[0], Vector3f::UnitX())
  * AngleAxisf(ea[1], Vector3f::UnitY())
  * AngleAxisf(ea[2], Vector3f::UnitZ()); 

cout << "recalc original rotation:" << endl;
cout << n << endl;

谢谢您的参考!我也是首先使用Eigen。简直就是省了很多功夫啊!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用特征库从旋转矩阵中获取横摇、俯仰和偏航 的相关文章

随机推荐

  • .NET 数据模型显示为 XML,而不是图表

    那是 我格式化计算机并重新安装整个环境 但看不到数据模型图 我的意思是 我打开数据模型 edmx 文件 然后在 XML 文件中看到所有数据库表和数据库信息 不是图表 我安装了vs2010 sp1 net Framework 4 micro
  • 寻找一个与 C# 一起使用的免费 SMS 网关 [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我在 ASP NET 2 0 中开发了一个网站 我想向每个注册到我的网站的人发送一条短信 我想用 C
  • Go 真的能比 Python 快那么多吗?

    我认为我可能错误地实施了这一点 因为结果没有意义 我有一个 Go 程序 计数到 1000000000 package main import fmt func main for i 0 i lt 1000000000 i fmt Print
  • DataGridView 行添加事件

    我正在使用 DataGridView 并将列表绑定到数据源 我已经有了正确的列 并且准确地映射了字段 我想做的是处理一种RowAdded or RowDataBound 就像在 aspx GridView 中一样 事件 我发现的唯一事件是R
  • 我是否必须创建新的可见元素才能遵守 Google 的 Microdata Schema.org 要求?

    我已将 Schema org Microdata 属性添加到我网站上的列表组件中 This is one item in my list div span The Awesome Web App 01 span span span span
  • 更改文件的单个字符

    我需要更改文件中的单个字符 我不想使用像这样的辅助文件 伪代码 read theFile change theFile write theFile2 erase theFile rename theFile2 theFile 因为通过这种方
  • 通过 Javascript 查找何时在 EPUB FXL 中查看页面

    是否可以找出何时使用 Javascript 查看 EPUB 固定布局的页面 有 DOMContentLoaded 事件 但相邻页面在 iBooks 中预加载时也会触发此事件 导致动画或声音在页面可见之前启动 不 这不对 这是iBooks的一
  • 如何将正则表达式的匹配分配给变量?

    我有一个文本文件 其中包含各种条目 每个条目都以包含所有星号的行结束 我想使用 shell 命令来解析该文件并将每个条目分配给一个变量 我怎样才能做到这一点 这是一个示例输入文件 Field1 Lorem ipsum Data to mat
  • 将 VARCHAR 时间戳转换为 TIMESTAMP?

    我在 MySQL 数据库中有一个格式为 17 16 28 Sep 13 2011 PDT 的时间戳 数据库中字段的类型是VARCHAR 我想将这个 VARCHAR 转换为 MySQL 中 TIMESTAMP 类型的字段 我尝试了几个本网站其
  • 如何让 slc 命令在 Ubuntu 上运行?

    我已经使用安装了 Strongloopnpm install g strongloop在我的 Ubuntu 14 04 服务器上 这slc命令不起作用 它说 The program slc is currently not installe
  • 使用实体框架更新外键

    我再次遇到了实体框架的问题唷 我正在尝试使用外键更新表 我在插入时遇到问题 但通过编辑 edmx 文件解决了这个问题 我使用以下代码来更新与角色表具有外部关系的用户表 Domain Data Role role db Role FirstO
  • 使用selenium打开的Chrome页面仍然是空白

    我正在尝试保存网页的屏幕截图 为此我尝试使用 Selenium 问题是 一旦打开网页 URL 中的 data 就会保持空白 这是我的代码 from selenium import webdriver options webdriver Ch
  • 如何以相反的顺序打印文件中的行

    我正在尝试以相反的顺序打印文件 我正在使用数组来保存每行数据 到目前为止 我能够按正常顺序打印每一行 index 是我指的行数 FuncIndex 是同一件事 但已在函数中再次声明 file fopen quotes data r whil
  • 更改 spring-boot 中默认的 Mongo 连接池大小

    我想更改java mongodb驱动程序提供的连接池的默认大小根据 mongo 文档 这是 100 下面是我用来自定义连接池大小的mongo客户端bean 参考这个问题 https stackoverflow com questions 2
  • 解释这个 C 程序的输出

    在以下位置找到此代码C 谜题 http www gowrikumar com c index php include
  • Zend 打开 Zend/Application.php 失败

    好的 我对 Zend 还比较陌生 我创建了一个新的应用程序并开始构建基于的身份验证系统a guide http akrabat com zend auth tutorial 但是 服务器正在排除内部服务器错误 在检查 PHP 错误日志时 我
  • 如何使用System.Net.Mail设置退回邮件地址?

    我正在尝试实施可变信封返回路径 VERP http en wikipedia org wiki Variable envelope return path管理电子邮件地址的方法 即 当我发送的电子邮件被退回时 我希望将其发送到特定的电子邮件
  • 如何在我的 ejs 文件中包含 bootstrap 文件?

    因此 我已经使用 npm bootstrap 3 安装了 bootstrap 但是当我尝试在我的应用程序中包含来自 node modules 的 bootstrap min css 文件时 它在我的控制台中显示此错误 错误信息 在网络选项卡
  • 如何使用 capistrano 3 部署特定修订版

    如何使用 Capistrano 3 部署特定的 git 修订版 Capistrano 2 9 方法不再有效 cap S revision 80655da8d80aaaf92ce5357e7828dc09adb00993 deploy inv
  • 使用特征库从旋转矩阵中获取横摇、俯仰和偏航

    我需要从旋转矩阵中提取横滚 俯仰 偏航角 并且我想确保我所做的事情是正确的 Eigen Matrix lt simFloat 3 1 gt rpy orientation toRotationMatrix eulerAngles 0 1 2