有没有办法在nalgebra或其他Rust库中获得欧拉角的阶数?

4zcjmb1e  于 2023-01-13  发布在  其他
关注(0)|答案(1)|浏览(171)

我尝试将原始四元数值转换为zyx阶的EulerAngular 。我尝试使用nalgebra旋转进行转换,但内置转换只提供xyz阶的Angular 。有没有办法从quat转换为zyx或从xyz转换为zyx?或者有没有其他库可以做同样的转换?
下面是我目前用于转换的函数:

pub fn raw_quaternion_to_euler(w: f32, x: f32, y: f32, z: f32) -> (f32, f32, f32) {
    let unit_quat = UnitQuaternion::from_quaternion(nalgebra::Quaternion::from_vector([w, x, y, z]));
    unit_quat.euler_angles()
}
9rygscc1

9rygscc11#

我设法找到了一种方法,使用了一个与nalgebra不同的库quaternion-core,它使用起来非常简单,而且完全符合我在这个问题中的要求。

相关问题