最近遇到个任务,需要求点云数据中目标点与其邻接点的投影点的最大夹角,网上找了很多资料,多数都是计算0-π范围内的夹角,没找到如何判断0-2π夹角的方法,这里我通过查找到的资料,总结出一个计算0-2π范围夹角的方法,尽量讲的通俗简单点。
一、将邻接点投影到目标点的切平面
根据目标点坐标与目标点的法向量,计算出切平面,再将邻接点投影到切平面。这里网上很多资料,就不做过多介绍。
二、计算投影点与目标点的夹角大小
设目标点为v,以pi表示第i个邻接点的投影点。v与每个投影点pi相连形成向量vpi。
我们的目标是计算相邻vpi间夹角的最大值。
总体思路是选出第一个向量vp0作为基准向量,计算其他向量vpi在某一个时针方向上(如逆时针方向)与vp0形成的夹角,将这些夹角由小到大排列,排列完毕后相邻大小的夹角相减,得到的就是相邻vpi间的夹角。
已知向量坐标求向量夹角可以用如下点乘公式求得,