1. 概述
- 欧拉角
- 旋转矩阵
- 四元数
2. 欧拉角与旋转矩阵相互转换
2.1 旋转矩阵转欧拉角
- C++
1 | void rotationMatrixToEuler(Eigen::Matrix3d rotation, Eigen::Vector3d& euler) { |
1 | void GetEulerAngles(const ARFrame* frame, Eigen::Vector3d& euler) { |
- python
1 | def rotationToEuler(rotation): |
2.2 欧拉角转旋转矩阵
- Python
1 | # yaw pitch roll |
3. 欧拉角与四元数相互转换
3.1 欧拉角转四元数
- C++
1 | // euler angles: roll pitch yaw |
1 | EulerAngle Quaternion::GetEulerAngle() const |
- Java
1 | public Quaternion eulerAngleToQuaternion(Vector3f euler, Quaternion quat) { |
- Eigen
1 | Eigen::Vector3d euler; |
4. 四元数与旋转矩阵相互转换
4.1 旋转矩阵转四元数
- python
1 | def rotation_matrix_to_quaternion(rotation): |
4.2 四元数转旋转矩阵
- python
1 | # qw, qx, qy, qz |
5. 其他变换
5.1 静止检测
- Python
1 | def GetMotionState(values): |
5.2 数据点对齐
- Python
1 | def searchInsert(nums, target): |
5.3 向量转四元数
- Python
1 | def quaternion_from_two_vectors(v1, v2): |