简单实用的反三角函数库
周继光
2006-2-27
小弟对编程刚入门不久,自学路也是看着各位前辈们的贴子
走过来的,现偶有小得,不敢独享,遂与大家分享。
小弟在写一个OpenGL引擎时,需要用到反余函数,但找了
好久都没找到,C语言的数学库提供的反三角函数又不好用,所
以便自己实现了一个,采用的是间单的查表法。
恳请各位前辈指点不足,新手朋友们提问,欢迎大家灌水!
FMath.h 文件定义如下:
//2006-1-20
//1.0
//周继光
#ifndef FMATH_H_
#define FMATH_H_
const float PI = 3.1415926535897932384626433832795f;
const float PI2 = 6.283185307179586476925286766559f;
const float A_PI = 0.017453292519943295769236907684886f;
const float PI_A = 57.324840764331210191082802547771f;
//
//常用算法定义
///
template<class T>
T Max( T a, T b )
{
return ( a > b ? a : b );
}
template<class T>
T Min( T a, T b )
{
return ( a > b ? b : a );
}
template<class T>
void ReleasePointer( T &point )
{
if( NULL != point )
{
delete[] point;
}
point = NULL;
}
template<class T>
void CopyObject( T &Destination, T &Source )
{
memcpy( &Destination, &Source, sizeof( Destination ) );
}
typedef union
{
int i;
float f;
}INTORFLOAT;
class CFloat
{
public:
float Absolute( float f )
{
INTORFLOAT temp;
t