gpt4 book ai didi

c++ - Eigen 从 Affine3d 3x3 旋转矩阵中提取的四元数是否被归一化?

转载 作者:太空宇宙 更新时间:2023-11-04 12:43:02 26 4
gpt4 key购买 nike

在这里https://docs.ros.org/kinetic/api/eigen_conversions/html/eigen__msg_8cpp_source.html#l00093

我不太明白这一行的语法:Eigen::Quaterniond q = (Eigen::Quaterniond)e.linear();

但是无论如何,假设 eEigen::Affine3d 类型(3x3 旋转矩阵),我在哪里可以弄清楚四元数是如何从 a 构造的Eigen库中的旋转矩阵好吗?除了 https://eigen.tuxfamily.org/dox/classEigen_1_1QuaternionBase.html#title25 之外,我没有在文档中看到任何方法。但我是一个真正的 c++ 菜鸟,所以我什至不明白那个...

我希望它做这样的事情https://arc.aiaa.org/doi/abs/10.2514/2.4654?journalCode=jgcd因为我的需求是必须对提取的四元数进行归一化,我想确保这一点。

最佳答案

您可以通过调用 normalize() 方法确保您的 Eigen::Quaterniond 被归一化。

有问题的行明确地将 e.linear() 返回的任何内容转换为 Eigen::Quaterniond

关于如何从旋转矩阵到四元数,Wikipedia describes the relationship .它只是求解一组已知的联立方程。我希望方法的主体看起来(或多或少)像一堆代数。

关于c++ - Eigen 从 Affine3d 3x3 旋转矩阵中提取的四元数是否被归一化?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53190258/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com