问题描述
scipy.spatial.transform.Rotation
的 rotvec
和 euler
做同样的事情吗?如果不是,它们有什么不同?
解决方法
什么是 scipy.spatial.transform.Rotation
、...rotvec
和 ...euler
?
嗯,..Rotation
的文档几乎说明了这一点
这个类[]提供了一个接口来初始化和表示 旋转:
- 四元数
- 旋转矩阵
- 旋转向量
- 修改罗德里格斯参数
- 欧拉角
见 https://docs.scipy.org/doc/scipy/reference/generated/scipy.spatial.transform.Rotation.html
所以 scipy.spatial.transform.Rotation
是一个通用的旋转接口。有五种表示旋转的方式,包括 rotvec
和 euler
。您可以使用例如在其中任何一个中进行轮换scipy.spatial.transform.Rotation.from_euler
。一旦有了旋转,您就可以使用例如将其转换为任何这些表示形式scipy.spatial.transform.Rotation.as_rotvec.
为什么要有这样的界面?
将特定旋转转换为通用旋转的优势是显而易见的。您可以在它们之间进行转换,并通过轮换做您通常想做的事情。再次来自 Rotation
文档
支持以下旋转操作:
- 在向量上的应用
- 旋转组合
- 旋转反转
- 旋转索引