计算正余弦函数 sin: 当 `|x|` 充分小时, 近似有 `sin x ~~ x`; 否则使用三倍角公式递推. cos: 当 `|x|` 充分小时, 近似有 `cos x ~~ 1-x^2/2`; 否则使用二倍角公式递推.
Cordic 算法 是一种计算 `arctan x` 的查表法.
事先将 `theta_n = arctan 2^-n`, `n = 0, 1, 2, cdots` 存于表中,
然后逐步旋转逼近. 此方法可以逼近任意一个不超过 `sum_(n ge 0) arctan
2^-n ~~ 99.88^@` 的角度.
从平面向量的旋转公式
`bm v_1 = [cos theta, -sin theta; sin theta, cos theta] bm v`
两边同除以 `cos theta` 得到伪旋转公式:
`bm v' = [1, -tan theta; tan theta, 1] bm v`.
取 `bm v_n = (x_n, y_n)`, `tan theta_n = 2^(-n)`. 上式写成
`{ x_(n+1) = x_n - y_n // 2^n;
y_(n+1) = y_n + x_n // 2^n :}`
当 `|y_n|` 足够小时就中止迭代.
结果约为: 63.43494882292201 度