图形天下:几个图形(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
相关文章
读者评论
发表评论 |