Rodrigues旋转公式_cv2.rodrigues_一碗风的博客-CSDN博客
罗德里格斯公式推导 - Jing_Rui - 博客园
推导见上面,我这里主要介绍如何用python 得到旋转矩阵和旋转向量,以及验证
opencv 右手系。以绕x轴旋转45°为例
import cv2
import numpy as np
angle = 45
x = np.deg2rad(angle)
# 单独绕x轴旋转的旋转矩阵。
# 右手系的旋转正方向:让旋转轴垂直自己胸口--右手大拇指方向,然后四个手指的方向就是 旋转正方向
Rx=np.array([[1, 0, 0],
[0, cos(x), -sin(x)],
[0, sin(x), cos(x)]])
# 此时Rx就是旋转矩阵,比如(0,1,0)——x,y,z经旋转后就是 (0,-0.7,0.7)
pos = [0,1,0]
rot_res = np.dot(Rx, pos)
# 罗德里格斯
rvec, _ = cv2.Rodrigues(rot_mat)
# rvec = array([[0.78539816],[0. ], [0. ]])
# 重点: rvec向量的模长代表旋转的 xite 弧度;rvec向量本身代表旋转轴。
norm = np.linalg.norm(gg)
(x2 - norm) < 1e-6
rot_mat2, _ = cv2.Rodrigues(rvec)
rot_res2 = np.dot(rot_mat2, pos)