3 回答
TA贡献1865条经验 获得超7个赞
首先,您必须进行某种范围的缩小。触发函数是周期性的,因此您需要将参数减少到标准间隔。对于初学者,您可以将角度减小到0到360度之间。但是,通过使用一些身份,您意识到可以少花钱。如果您为0到45度之间的角度计算正弦和余弦,则可以引导您的方法来计算所有角度的所有触发函数。
减少论点后,大多数芯片都会使用CORDIC算法来计算正弦和余弦。您可能会听到有人说计算机使用泰勒级数。这听起来很合理,但事实并非如此。CORDIC算法更适合高效的硬件实现。(例如,软件库可能在不支持触发功能的硬件上使用泰勒级数。)可能会有一些额外的处理,使用CORDIC算法可获得相当好的答案,但随后可以做一些其他事情以提高准确性。
上面有一些改进。例如,对于非常小的角度theta(以弧度为单位),sin(theta)= theta等于您拥有的所有精度,因此,简单地返回theta比使用其他算法更有效。因此,在实践中有很多特殊情况的逻辑可以挤出所有可能的性能和准确性。市场较小的芯片可能不会花太多精力进行优化。
TA贡献1735条经验 获得超5个赞
我不是数学家,但我对sin,cos和tan从何而来的理解是,从某种意义上讲,当您处理直角三角形时,它们是观察到的。如果对一堆不同的直角三角形的边长进行测量,然后在图中绘制点,则可以得出正弦,余弦和正切。正如哈珀·谢尔比(Harper Shelby)所指出的那样,将函数简单地定义为直角三角形的属性。
通过了解这些比率与圆的几何形状之间的关系,可以获得更复杂的理解,从而得出弧度和所有优点。在Wikipedia条目中全都有。
添加回答
举报