14:08:54 2009-07-31 float g_cos_look_table[361]={0.0f}; float g_sin_look_table[361]={0.0f}; #define PI 3.141592654f void Init_Sin_Cos_LookTable() { for (int ange=0; ange<=360; ange++) { g_cos_look_table[ange] = cos( (float)ange*PI/180.0f); g_sin_look_table[ange] = sin((float)ange*PI/180.0f); } } float Fast_Cos(float ange) { // 转换为0-359度之间的 ange = fmod(ange, (float)360); if (ange < 0.0f) ange += (float)360; int ange_int = (int)ange; float ange_frac = ange - (float)ange_int; // 差值计算 return ( g_cos_look_table[ange_int] + ange_frac*( g_cos_look_table[ange_int+1]-g_cos_look_table[ange_int]) ); }