三维空间向量夹角计算
计算过程MATLAB 程序示例
计算过程
已知向量
A
→
\overrightarrow{A}
A
,
B
→
\overrightarrow{B}
B
分别为:
A
→
=
(
a
x
,
a
y
,
a
z
)
\overrightarrow{A}=(a_x, a_y, a_z)
A
=(ax,ay,az)
B
→
=
(
b
x
,
b
y
,
b
z
)
\overrightarrow{B}=(b_x, b_y, b_z)
B
=(bx,by,bz) 则,向量
A
→
\overrightarrow{A}
A
,
B
→
\overrightarrow{B}
B
之间的夹角为:
θ
=
A
→
⋅
B
→
∥
A
→
∥
∥
B
→
∥
=
a
x
b
x
+
a
y
b
y
+
a
z
b
z
a
x
2
+
b
y
2
+
c
z
2
b
x
2
+
b
y
2
+
b
z
2
\begin{aligned} \theta &= \frac{\overrightarrow{A}\cdot\overrightarrow{B}}{\|\overrightarrow{A}\|\|\overrightarrow{B}\|} \\ & = \frac{a_x b_x + a_y b_y + a_z b_z}{\sqrt{a^2_x + b^2_y + c^2_z}\sqrt{b^2_x + b^2_y + b^2_z}} \end{aligned}
θ=∥A
∥∥B
∥A
⋅B
=ax2+by2+cz2
bx2+by2+bz2
axbx+ayby+azbz
注:
θ
\theta
θ 单位是弧度,若需要使用对应角度大小,可使用以下公式转换。
α
=
θ
∗
π
180
\alpha=\theta*\frac{\pi}{180}
α=θ∗180π
MATLAB 程序示例
A = [1,3,2];
B = [2,2,1];
theta = A * B' / norm(A) / norm(B);
|