我正在寻找伪代码中的三角函数。 我不擅长数学,所以我对维基百科中的公式做不了多少。 主要是我正在寻找它们的正弦,余弦,正切和反函数(sin -1,cos -1,tan -1)。 还有其他三角函数。但对我来说,上述是最重要的。
如果有可能,我会很高兴,如果在伪代码中只有变量,for
,if
和运算符(+
,-
,{{1使用{},*
,/
,%
),因为我没有带高级数学函数的库。
答案 0 :(得分:2)
三角函数是Transcendental 您无法在多项式代数中找到它们的精确表达式。
你可以近似。
通常的方法是使用周期性和对称性来将角度α减小到等效角度α',使得 sin (α)= sin (α')但是α'«α。
简单地说,你可以减少第一象限或类似角度和角度,这比它看起来更容易
一旦你有一个小角度,你可以使用Taylor Series Expansion来计算函数,直到达到固定的误差幅度。
Here是一个教程页面。
另一种方法是使用lookup table 当您可以跟踪所需的过程精度并且非常快时,这尤其有用 然而,它需要更多的内存,并可能产生一个步骤看起来的功能。 Here介绍性页面。
另一种方法是使用CORDIC Algorithm,这特别适用于缺乏乘法支持的硬件(如某些MIPS和ARM芯片)。 来自维基百科:
当硬件乘法器不可用时,CORDIC通常比其他方法更快(例如,微控制器)[...]
另一方面,当硬件乘法器可用时(例如,在DSP微处理器中),表查找方法和幂级数通常比CORDIC快。