🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
![](http://www.rhinostudio.cn/files/course/2019/05-04/10341133cd48492036.png) ## **Angle** 判断两个矢量之间的夹角,首先,矢量可以位移,所以如果两个矢量不在同一处,可以移动两个矢量到同一个端点处,其次,矢量是有方向的,所以如果两个矢量方向相反,比如下面的两个矢量: ![](http://www.rhinostudio.cn/files/course/2019/05-04/1036535962dd943781.png) 那么,这两个矢量的夹角就应该是: ![](http://www.rhinostudio.cn/files/course/2019/05-04/10385827aa2e772169.png) 输出端Angle为夹角,输出端Reflex为反角。需要注意的是,两个矢量的顺序也会影响角度结果。举个栗子,我们先把plane端的xy平面删了,然后看一下: ![](http://www.rhinostudio.cn/files/course/2019/05-04/1044535c9d55297684.png) ok,这个时候我们调转一下A和B矢量,你会发现,角度依然是133,并没有变,这是因为没有给定工作平面,所以依然按照两个之间的最小角来判断,也就是说,如果你不给定plane的话,两个矢量夹角永远不可能大于180,这显然是不对的,因为有的时候我们就是需要判断超过180的角度。 ![](http://www.rhinostudio.cn/files/course/2019/05-04/104848013643285544.png) 所以这时候,我们加上限定平面xy平面,结果就显示正确了,运算器按照逆时针,判断A到B矢量的夹角。这样,才会出现超过180度的情况。 ![](http://www.rhinostudio.cn/files/course/2019/05-04/105108c5af6c395149.png)