美文网首页
向量夹角的计算

向量夹角的计算

作者: LuckilyHaveYou | 来源:发表于2020-05-07 16:03 被阅读0次

背景

在使用PaddleHub对姿态关键点分析的时候,想计算一下关节点的夹角,竟然有一些卡住了,在此记录一下。

使用内积计算夹角

刚开始想到的,就是内积公式
a \cdot b = |a||b|cos\theta
但是上面的公式有一个问题,因为\theta的定义域在[0,\pi]之间,所以计算的角度就有些问题。
当顺时针角度大于\pi的时候,就会有问题。

使用外积来判断是否超过了\pi

外积的模长是|a\times b|=|a||b|sin\theta
方向由a指向b的右手规则给出
使用公式有
\begin{pmatrix}i&j&k\\ x_a&y_a&z_a\\ x_b&y_b&z_b \end{pmatrix}
假设平面的z坐标为0,可以得到上式的i与j的系数都是0,而k的系数=x_a y_b-x_b y_a
考虑在右手坐标系当中,如果两都的夹角<180度,则外积大于0,如果超过了180,外积小于0.这样结合cos计算出来的值,就可以确定顺时针多少度。

计算公式

\theta=arccos(\frac {a\cdot b}{|a||b|})
计算x_a y_b-x_b y_a
如果上值大于0,则返回\theta,如果值小于0,则返回2\pi - \theta

去github

相关文章

  • Unity 计算两个向量的夹角

    计算两个向量夹角

  • 向量夹角的计算

    背景 在使用PaddleHub对姿态关键点分析的时候,想计算一下关节点的夹角,竟然有一些卡住了,在此记录一下。 使...

  • 余弦相似度算法与kotlin实现

    余弦相似度计算 余弦相似度用向量空间中两个向量夹角的余弦值作为衡量两个个体间差异的大小。余弦值越接近1,就表明夹角...

  • unity的常用Vector3

    Vector3.Angle() :向量之间的夹角,返回两个向量之间较小的角度(在旋转计算中常常用到) Vector...

  • 余弦相似度与余弦距离

    余弦相似度 即计算两个向量间的夹角的余弦值,计算公式如下: 根据线性代数的知识,余弦是通过点积和模长来计算。在向量...

  • 向量余弦夹角

    TF-IDF:term frequency – inverse document frequency,常用的加权技...

  • 检索模型与检索排序

    1. 用户查询与返回结果相关度度量 1.1 相似性计算:空间向量余弦夹角 https://www.jianshu....

  • 20-余弦相似度及其R实现

    1 余弦相似度 余弦相似度 (Cosine Similarity) 通过计算两个向量的夹角余弦值来评估他们的相似度...

  • 余弦相似度和欧几里得距离

    1.余弦相似度 同过两个向量的夹角的余弦值来判断两个向量的相似度。余弦值取值[-1,1],越接近1,两向量夹角越小...

  • 【MATLAB】向量运算

    数量积(点乘) 向量积(叉乘) 夹角 模

网友评论

      本文标题:向量夹角的计算

      本文链接:https://www.haomeiwen.com/subject/gwuaghtx.html