Answers:
您可以使用抛物线来接近正弦函数的值。这样做的优点是,根的精确位置为-pi / 2和pi / 2,而对于其他基于TaylorSeries或MaclaurinSeries的快速近似方法,通常不是如此。
public float Sin(float x)
{
const float B = 4 / PI;
const float C = -4 / (PI*PI);
return -(B * x + C * x * ((x < 0) ? -x : x));
}
这是与实际正弦函数的比较:
sin()函数的输入值范围是多少?对于您用于它的用途,听起来好像它们受到限制,这意味着您可以预先计算这些值。例如,如果您将输入值四舍五入到最接近的程度,那么您只有360个可能的值-只需预先计算它们并存储在表中即可。
如果您需要更多的值(例如,保留一位小数),则可以从表格中进行插值-我对perlin噪声不熟悉,但是“ noise”一词似乎表明它不需要很高的精度。:)(您也可以只做一个更大的表,3600个条目空间不大)。
你可能会想读这个太,它得到了快速的正弦和余弦逼近