前言
学习SLAM,在旋转向量中需要用到罗德里格斯公式。以下是罗德里格斯公式的推到过程
根据b站的视频记的笔记:如有侵权 请告知删除:
视频地址:罗德里格斯公式推导
提示:以下是本篇文章正文内容
一、知识基础
1.1、向量
具有大小和方向的量
1.2、点乘
两个向量的数量积(点乘,内积)
∣
∣
a
∣
∣
=
a
1
2
+
a
2
2
+
a
3
2
α
=
{
a
1
,
a
2
,
a
3
}
,
β
=
{
b
1
,
b
2
,
b
3
}
||a||=\sqrt{a_1^2+a_2^2+a_3^2}\\ \alpha=\{a_1,a_2,a_3\}, \beta=\{b_1,b_2,b_3\} \\
∣∣a∣∣=a12+a22+a32α={a1,a2,a3},β={b1,b2,b3}
1 、 α ⋅ β = ∣ α ∣ ⋅ ∣ β ∣ c o s θ = a 1 b 1 + a 2 b 2 + a 3 b 3 1、\alpha·\beta=|\alpha|·|\beta|cos\theta=a_1b_1+a_2b_2+a_3b_3 1、α⋅β=∣α∣⋅∣β∣cosθ=a1b1+a2b2+a3b3
1.3、叉乘
两个向量 叉乘 后得到一个新的向量
c = α × β 满足一下规则 : 1 、 ∣ c ∣ = ∣ α × β ∣ = ∣ α ∣ ∣ β ∣ s i n θ 2 、 c ⊥ α , c ⊥ β 3 、 α , β , θ 构成右手系法则 积 c 为 α 、 β 的向量积,记作 c = α × β c=\alpha×\beta \ \ \ \ \ \ 满足一下规则:\\ 1、|c|=|\alpha×\beta|=|\alpha||\beta|sin\theta\\ 2、c⊥\alpha,c⊥\beta \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \\ 3、\alpha,\beta,\theta构成右手系法则 \\ 积c为\alpha、\beta的向量积,记作c=\alpha×\beta c=α×β 满足一下规则:1、∣c∣=∣α×β∣=∣α∣∣β∣sinθ2、c⊥α,c⊥β 3、α,β,θ构成右手系法则积c为α、β的向量积,记作c=α×β
两个向量 α × β 作用后,得到一个新向量 c c { 大小 = ∣ α ∣ ∣ β ∣ s i n θ 方向: c ⊥ α , c ⊥ β ,且满足右手法则 两个向量\alpha×\beta作用后,得到一个新向量c\\ c\begin{cases} 大小=|\alpha||\beta|sin\theta\\ 方向:c⊥\alpha,c⊥\beta ,且满足右手法则\\ \end{cases} 两个向量α×β作用后,得到一个新向量cc{大小=∣α∣∣β∣sinθ方向:c⊥α,c⊥β,且满足右手法则
二、罗德里格斯公式
2.1、特殊情况,旋转向量与转轴角度垂直
v
⃗
r
o
t
=
c
o
s
θ
v
⃗
+
s
i
n
θ
(
k
⃗
×
v
⃗
)
\vec{v}_{rot}=cos\theta\vec{v}+sin\theta(\vec{k}×\vec{v})
vrot=cosθv+sinθ(k×v)
2.2、正常情况,旋转向量与转轴角度不垂直
2.3、转换成计算机语言R
![在这里插入图片描述](https://img-blog.csdnimg.cn/401704a9ce664870b17180a7a6c7061f.jp