나는 다른 사람들의 코드를 검토하는 데 꽤 괜찮은 사람이라고 생각하고 싶다.하지만 나는 실망했다. Doom3 수학 라이브러리에서 가져옵니다. 나는 이것이 아마도 Quake 1 이후로 GPL에 존재했다고 생각한다. 이것은 math.h를 참조한다. 나는 이것이 실제로 코사인을 계산하는 어떤 방법이 있다고 생각하지만 ... 나는 그것을 이해할 수 없다. 아무도 설명하지 않습니까?() 및 보정 계수를 기록, 그것은 (또는 어쩌면 팔분, 나는 성가 시게 할 수없는 ... 그것을 알아낼) 하나의 사분면까지 각도를 접는 것처럼실제로 코사인 16 비트 함수는 무엇을합니까?
ID_INLINE float idMath::Cos16(float a) {
float s, d;
if ((a < 0.0f) || (a >= TWO_PI)) {
a -= floorf(a/TWO_PI) * TWO_PI;
}
#if 1
if (a < PI) {
if (a > HALF_PI) {
a = PI - a;
d = -1.0f;
} else {
d = 1.0f;
}
} else {
if (a > PI + HALF_PI) {
a = a - TWO_PI;
d = 1.0f;
} else {
a = PI - a;
d = -1.0f;
}
}
#else
a = PI - a;
if (fabs(a) >= HALF_PI) {
a = ((a < 0.0f) ? -PI : PI) - a;
d = 1.0f;
} else {
d = -1.0f;
}
#endif
s = a * a;
return d * (((((-2.605e-07f * s + 2.47609e-05f) * s - 1.3888397e-03f) * s + 4.16666418e-02f) * s - 4.999999963e-01f) * s + 1.0f);
}
이은을하자 ** 사람들이 자신의 코드에 주석을 달아야하는 이유에 대한 예 ** –
apocwslvn –
@LightnessRacesinOrbit, s/code/math code/: P – Griwes