您是否尝试过CORDIC算法?这是解决极性↔矩形问题的通用框架,仅需通过加/减/位移位+表格来完成,基本上以tan
-1(2- n)形式的角度进行旋转。您可以通过更改迭代次数来权衡准确性与执行时间。
在您的情况下,将一个矢量作为固定参考,然后将另一个矢量复制到一个临时矢量,您可以使用该角度将其旋转到第一个矢量(大致平分),直到达到所需的角度精度为止。
( 编辑: 使用点积符号确定每一步是向前还是向后旋转。尽管如果乘数便宜到足以允许使用点积,那么不要理会CORDIC,也许使用sin /
cos对表旋转角度为π/ 2 n的矩阵,以解决二等分问题。)
( 编辑: 我喜欢Eric Bainville在评论中的建议:将两个向量都朝零方向旋转并跟踪角度差。)



