首页 > 其他 > 详细

向量点乘的推导

时间:2021-01-08 22:20:58      阅读:51      评论:0      收藏:0      [点我收藏+]

前提知识:

一个\(\vec{a}\)如下图所示:
技术分享图片

\(\vec{a} = \left[ \begin{matrix} x_a\ y_b\ \end{matrix} \right]\), \(\vec{b} = \left[ \begin{matrix} x_c\ y_d\ \end{matrix} \right]\)

\(||\vec{a}||\)表示\(\vec{a}\)的长度,\(||\vec{b}||\)表示\(\vec{b}\)的长度。

\(||\vec{a}|| = \sqrt{x_a^2 + y_b^2},||\vec{b}|| = \sqrt{x_c^2 + y_d^2}\)

点乘的计算公式:

\(\vec{a} \cdot \vec{b} = ||\vec{a}|| ||\vec{b}|| cos\theta = x_ax_c+y_by_d\)

\(\theta\)角为\(\vec{a}\)\(\vec{b}\)的夹角

技术分享图片

推导:\(||\vec{a}|| ||\vec{b}|| cos\theta = x_ax_c+y_by_d\)

  1. 由上图可知,\(\theta = \beta - \alpha\)
  2. 所以,\(cos\theta = cos(\beta - \alpha)\)
  3. 由三角函数公式可知:\(cos\theta = cos\beta cos\alpha + sin\alpha sin\beta\)
  4. 观察上图后可知,\(cos\beta = {x_a\over||\vec{a}||}\)\(sin\beta = {y_b\over||\vec{a}||}\)\(cos\alpha = {x_c\over||\vec{b}||}\)\(sin\alpha = {y_d\over||\vec{b}||}\)
  5. 所以,\(cos\theta = {x_ax_c+y_by_d \over ||\vec{a}|| ||\vec{b}||}\)
  6. 所以,\(||\vec{a}|| ||\vec{b}|| cos\theta = x_ax_c+y_by_d\)

向量点乘的推导

原文:https://www.cnblogs.com/sf5803/p/14252625.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!