scipy的euler和rotvec是一回事吗?

Is scipy's euler and rotvec the same thing?

scipy.spatial.transform.Rotationrotveceuler 做同样的事情吗?如果不是,它们有何不同?

什么是 scipy.spatial.transform.Rotation...rotvec...euler

好吧 ..Rotation 的文档说得差不多了

This class [] provides an interface to initialize from and represent rotations with:

  • Quaternions
  • Rotation Matrices
  • Rotation Vectors
  • Modified Rodrigues Parameters
  • Euler Angles

See https://docs.scipy.org/doc/scipy/reference/generated/scipy.spatial.transform.Rotation.html

所以scipy.spatial.transform.Rotation是一个通用的旋转接口。有五种表示旋转的方式,包括 rotveceuler。您可以使用例如在其中任何一个中进行轮换scipy.spatial.transform.Rotation.from_euler。一旦你有一个旋转,你可以使用例如将它转换为任何这些表示形式scipy.spatial.transform.Rotation.as_rotvec.

为什么会有这样的界面?

将特定旋转转换为广义旋转的优势很明显。您可以在它们之间进行转换,并执行您通常想通过轮换执行的操作。再次来自 Rotation 文档

The following operations on rotations are supported:

  • Application on vectors
  • Rotation Composition
  • Rotation Inversion
  • Rotation Indexing