背景
在使用PaddleHub对姿态关键点分析的时候,想计算一下关节点的夹角,竟然有一些卡住了,在此记录一下。
使用内积计算夹角
刚开始想到的,就是内积公式
但是上面的公式有一个问题,因为的定义域在之间,所以计算的角度就有些问题。
当顺时针角度大于的时候,就会有问题。
使用外积来判断是否超过了
外积的模长是
方向由a指向b的右手规则给出
使用公式有
假设平面的z坐标为0,可以得到上式的i与j的系数都是0,而k的系数=
考虑在右手坐标系当中,如果两都的夹角<180度,则外积大于0,如果超过了180,外积小于0.这样结合cos计算出来的值,就可以确定顺时针多少度。
计算公式
计算
如果上值大于0,则返回,如果值小于0,则返回