擅长:python、mysql、java
<p>找到两个向量之间有符号角的黄金标准是<code>atan2(cross(a,b)), dot(a,b))</code>。在所有角度都具有高精度和鲁棒性。(在2D中,<code>cross</code>是垂直点积,<code>ax*by-ay*bx</code>。在三维空间中,使用十字积的长度;它的方向是旋转轴。)</p>
<p>有些事情不能做:</p>
<ul>
<li>任何涉及<code>acos</code>的东西。反余弦是一种代码气味。它受限制的范围,不会给你的迹象,需要手动参数夹紧,并在其极端精度差。如果你发现自己在用它,试试别的办法。在</li>
<li>任何涉及直线坡度的东西。精度很差,当然对于垂直矢量是没有定义的。在</li>
<li>根据额外的测试手动选择角度范围。这很可能导致轴线附近出现不连续性。在</li>
</ul>