间单实用的反三角函数库之C++实现

这篇博客介绍了一个简单的反三角函数库的C++实现,作者在编写OpenGL引擎时发现缺少反余弦函数,因此采用了查表法自行创建。库中包含正弦、余弦和反正弦、反余弦函数,以及一些辅助数学工具类。
摘要由CSDN通过智能技术生成

        简单实用的反三角函数库

                                     周继光

                                     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

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值