专注于互联网--专注于架构

最新标签
网站地图
文章索引
Rss订阅

首页 »C语言教程 » 图形天下:几个图形(02) »正文

图形天下:几个图形(02)

来源: 发布时间:星期四, 2008年9月25日 浏览:51次 评论:0
#define Ln10 2.30258509299405E+000 /*数学常数定义*/
#define Pi 3.1415927
#define PiOver180 1.74532925199433E-002
#define PiUnder180 5.72957795130823E+001

typedef enum{false,true}Boolean; /*数据存储格式定义*/
typedef unsigned char Byte;
typedef unsigned int Word;

int Round(float x) /*取近似值函数*/
{
return(int)(x+0.5));
}
int Trunc(float x) /*取整函数*/
{
return(int)(x));
}
float SqrFP(float x)/*求平方值函数*/
{
return(x*x);
}
int Sqr(int x) /*求平方根函数*/
{
return(X*x);
}
float adians(float Angle)/*弧度换算函数*/
{
return(Angle*PiOver180);
}
float Degress(float Angle) /*角度转换函数*/
{
return(Angle*PiUnder180);
}
float CosD(float Angle) /*求余弦函数*/
{
return(cos(Radians(Angle)));
}
float SinD(float Angle) /*求正弦函数*/
{
return(sin(Radians(Angle)));
}
float Power(float Base,int Exponent) /*求取以e为底的幂函数*/
{
float BPower;
int t;
if(Exponent==0)
return 1;
else{
BPower=1.0;
for(t=1;t<=Exponent;t++)
BPower*=Base;
return(BPower);
}
}
float Log(float x) /*求取标准 对数值函数*/
{
return(log(x)/Ln10);
}
float Exp10(float x) /*求取反对数值函数*/
{
return(exp(x*Ln10));
}
float Sign(float x) /*浮点型符号函数*/
{
if(x<0)
return -1;
else{
if(x>0)
return 1;
else return 0;
}
}
int IntSign(int x) /*整型符号函数*/
{
if(x<0)
return -1;
else{
if(x>0)
return 1;
else
return 0;
}
}
int IntSqrt(int x) /*求整方根函数*/
{
int OddInt,OldArg,FirstSqrt;
OddInt=1;
OldArg=x;
while(x>=0){
x=OddInt;
OddInt+=2;
}
FirstSqrt=OddInt>>1;
if(Sqrt(FirstSqrt)-FirstSqrt+1>OldArg)
return(FirstSqrt-1);
else
return(FirstSqrt);
}
int IntPower(int Base,int Exponent) /*求以e为底的整幂函数*/
{
if(Exponent==0)
return 1;
else
return(Base*IntPower(Base,Exponent-1));
}

/*与向量和矩阵相关的函数库*/
/*Vector and Matrix Routines*/
typedef float TDA[3]; /*常向量定义*/
typedef int TDIA[3];
typedef float FDA[4];
typedef float Matx4x4[4][4];

void vec(float r,float s,float t,TDA A) /*浮点数向量赋值函数*/
{
A[0]=r;
A[1]=s;
A[2]=t;
}
void VecInt(int r,int s,int t,TDIA A) /*整数向量赋值函数*/

相关文章

读者评论

  • 共0条 分0页

发表评论

  • 昵称:
  • 内容: