c++ - 零四元数和任何向量的特征积都不为零,这是一个错误吗?
问题描述
我正在使用 Eigen 3.3.7 及其四元数对一组向量执行转换。
我需要用向量执行四元数(可能是零四元数)的乘积。问题是当四元数是零四元数(零实部和向量部分)时,返回的值就是向量本身。
我对汉密尔顿乘积定义的理解是,如果四元数是零四元数,则乘积应该返回零向量。我错了吗?
下面的代码片段显示了这个问题,我希望向量sv
全为零,但事实并非如此。这是一个错误吗?
Eigen::Quaterniond q{0.0, 0.0, 0.0, 0.0};
Eigen::Vector3d v{1.0, 2.0, 3.0};
auto sv = q * v;
干杯和感谢。
解决方案
推荐阅读
- gmail-api - 验证 Gmail 帐户并检索基本个人资料信息
- ios - 如何查看订阅是否已取消?
- node.js - NodeJS [DEP0097] 弃用警告:
- django - 解析 Django 模板时的操作顺序
- timestamp - 如何使用多个时间戳进行代码签名 - 我的邮票被覆盖
- oracle - 执行立即变量中的单引号 - Oracle PLSQL
- git - 如何复制托管在 TFS 2015 上的 Git 存储库
- java - 为什么`switch(null)`是一个编译错误但是`switch(str)`在str是`static final String str = null;`的情况下没问题?
- gremlin - 如何按属性列表内容对顶点进行分组
- java - 旋转后TextView的文本缺少字符