您的位置:首页 > 其它

Tomorrow is a new day

2011-08-13 15:56 288 查看
今天在项目中涉及到了一个对图形进行一定角度的旋转的问题,这个角度需要根据相关坐标点进行计算得来,因此自然需要调用一些数学库内的一些函数,这些函数用起来并不难,但有些函数用的较少,关键时刻却想不起来,这里收藏一篇c++中常用的数学函数库的博文,此篇博文最大的亮点是对每个函数数学方面相关的知识有一个简短的说明,对于多年没用相关数学知识的童鞋是很有帮助的。

【转载自曲终】:http://rogee.cnblogs.com/

abs 原型:extern int abs(int x);用法:#include <math.h>功 能:求整数x的绝对值说明:计算|x|, 当x不为负时返回x,否则返回-x举例: // abs.c

#include <syslib.h>
#include <math.h> main()
{
int x;

clrscr(); // clear screen

x=-5;
printf("|%d|=%d\n",x,abs(x));
x=0;
printf("|%d|=%d\n",x,abs(x));
x=+5;
printf("|%d|=%d\n",x,abs(x));

getchar();
return 0;
}

相关函数:fabs
acos原 型:extern float acos(float x);用法:#include <math.h>功 能:求x(弧度表示)的反余弦值说明:x的定义域为[-1.0,1.0],值域为[0,π]。举例: // acos.c

#include <syslib.h>
#include <math.h> main()
{
float x;

clrscr(); // clear screen
textmode(0x00); // 6 lines per LCD screen

x=0.32;
printf("acos(%.2f)=%.4f",x,acos(x));

getchar();
return 0;
}

相关函数:asin,atan,atan2,sin,cos,tan

asin原 型:extern float asin(float x);用法:#include <math.h>功 能:求x(弧度表示)的反正弦值说明:x的定义域为[-1.0,1.0],值域为[-π/2,+π/2]。举例: // asin.c

#include <syslib.h>
#include <math.h> main()
{
float x;

clrscr(); // clear screen
textmode(0x00); // 6 lines per LCD screen

x=0.32;
printf("asin(%.2f)=%.4f",x,asin(x));

getchar();
return 0;
}

相关函数:acos,atan,atan2,sin,cos,tan

atan原 型:extern float atan(float x);用法:#include <math.h>功 能:求x(弧度表示)的反正切值说明:值域为(-π/2,+π/2)。举例: // atan.c

#include <syslib.h>
#include <math.h> main()
{
float x;

clrscr(); // clear screen
textmode(0x00); // 6 lines per LCD screen

x=0.32;
printf("atan(%.2f)=%.4f",x,atan(x));

getchar();
return 0;
}

相关函数:asin,acos,atan2,sin,cos,tan
atan2原 型:extern float atan2(float y, float x);用法:#include <math.h>功能:求y/x(弧度表示)的反正切值说明:值域为(-π/2,+π/2)。举 例: // atan2.c

#include <syslib.h>
#include <math.h> main()
{
float x,y;

clrscr(); // clear screen
textmode(0x00); // 6 lines per LCD screen

x=0.064;
y=0.2;
printf("atan2(%.3f,%.2f)=%.4f",y,x,atan2(y,x));

getchar();
return 0;
}

相关函 数:asin,acos,atan,sin,cos,tan

ceil原型:extern float ceil(float x);用法:#include <math.h>功能:求不小于x的最 小整数说明:返回x的上限,如74.12的上限为75,-74.12的上限为-74。返回值为float类型。举例: // ceil.c

#include <syslib.h>
#include <math.h> main()
{
float x;

clrscr(); // clear screen
textmode(0x00); // 6 lines per LCD screen

x=74.12;
printf("ceil(%.2f)=%.0f\n",x,ceil(x));
x=-74.12;
printf("ceil(%.2f)=%.0f\n",x,ceil(x));

getchar();
return 0;
}

相关函数:floor

cos原 型:extern float cos(float x);用法:#include <math.h>功 能:求x(弧度表示)的余弦值说明:返回值在[-1.0,1.0]之间。举例: // cos.c

#include <syslib.h>
#include <math.h> main()
{
float x;

clrscr(); // clear screen
textmode(0x00); // 6 lines per LCD screen

x=PI/4.;
printf("cos(%.4f)=%.4f\n",x,cos(x));

getchar();
return 0;
}

相关函数:asin,acos,atan,atan2,sin,tan

cosh原 型:extern float cosh(float x);用法:#include <math.h>功 能:求x的双曲余弦值说明:cosh(x)=(e^x+e^(-x))/2举例: // cosh.c

#include <syslib.h>
#include <math.h> main()
{
float x;

clrscr(); // clear screen
textmode(0x00); // 6 lines per LCD screen

x=PI/4.;
printf("cosh(%.4f)=%.4f\n",x,cosh(x));

getchar();
return 0;
}

相关函数:sinh,tanh
exp原 型:extern float exp(float x);用法:#include <math.h>功 能:求e的x次幂说明:e=2.718281828...举例: // exp.c

#include <syslib.h>
#include <math.h> main()
{
clrscr(); // clear screen
textmode(0x00); // 6 lines per LCD screen

printf("e=%f\n",exp(1.0));

getchar();
return 0;
}

相关函数:无

fabs原 型:extern float fabs(float x);用法:#include <math.h>功 能:求浮点数x的绝对值说明:计算|x|, 当x不为负时返回x,否则返回-x举例: // fabs.c

#include <syslib.h>
#include <math.h> main()
{
float x;

clrscr(); // clear screen
textmode(0x00); // 6 lines per LCD screen

x=-74.12;
printf("|%f|=%f\n",x,fabs(x));
x=0;
printf("|%f|=%f\n",x,fabs(x));
x=74.12;
printf("|%f|=%f\n",x,fabs(x));

getchar();
return 0;
}

相关函数:abs

floor原 型:extern float floor(float x);用法:#include <math.h>功 能:求不大于x的最达整数说明:返回x的下限,如74.12的下限为74,-74.12的下限为-75。返回值为float类型。举 例: // floor.c

#include <syslib.h>
#include <math.h> main()
{
float x;

clrscr(); // clear screen
textmode(0x00); // 6 lines per LCD screen

x=74.12;
printf("floor(%.2f)=%.0f\n",x,floor(x));
x=-74.12;
printf("floor(%.2f)=%.0f\n",x,floor(x));

getchar();
return 0;
}

相关函数:ceil
fmod原 型:extern float fmod(float x, float y);用法:#include <math.h>功 能:计算x/y的余数说明:返回x-n*y,符号同y。n=[x/y](向离开零的方向取整)举例: // fmod.c

#include <syslib.h>
#include <math.h> main()
{
float x,y;

clrscr(); // clear screen
textmode(0x00); // 6 lines per LCD screen x=74.12;
y=6.4;
printf("74.12/6.4: %f\n",fmod(x,y));
x=74.12;
y=-6.4;
printf("74.12/(-6.4): %f\n",fmod(x,y));

getchar();
return 0;
}

相关函 数:无

frexp原型:extern float frexp(float x, int *exp);用法:#include <math.h>功能:把浮点数x分解成尾数和指数。说 明:x=m*2^exp,m为规格化小数。返回尾数m,并将指数存入exp中。举例: // frexp.c

#include <syslib.h>
#include <math.h> main()
{
float x;
int exp;

clrscr(); // clear screen
textmode(0x00); // 6 lines per LCD screen

x=frexp(64.0,&exp);
printf("64=%.2f*2^%d",x,exp);

getchar();
return 0;
}

相关函数:ldexp,modf

hypot原 型:extern float hypot(float x, float y);用法:#include <math.h>功能:对于给定的直角三角形的两个直角边,求其斜边的长度。说明:返回斜边值。举 例: // hypot.c

#include <syslib.h>
#include <math.h> main()
{
clrscr(); // clear screen
textmode(0x00); // 6 lines per LCD screen

printf("3^2+4^2=%.0f^2\n",hypot(3.,4.));
printf("3.2^2+4.3^2=%.2f^2",hypot(x,y));

getchar();
return 0;
}

相关函数:frexp,ldexp

ldexp原 型:extern float ldexp(float x, int exp);用法:#include <math.h>功能:装载浮点数。说明:返回x*2^exp的值。举例: // ldexp.c

#include <syslib.h>
#include <math.h> main()
{
float x;

clrscr(); // clear screen
textmode(0x00); // 6 lines per LCD screen

x=ldexp(1.0,6); // 1.0*2^6
printf("2^6=%.2f",x);

getchar();
return 0;
}

相关函数:frexp,modf

log原 型:extern float log(float x);用法:#include <math.h>功 能:计算x的自然对数。说明:x的值应大于零。举例: // log.c

#include <syslib.h>
#include <math.h> main()
{
float x;
clrscr(); // clear screen
textmode(0x00); // 6 lines per LCD screen

printf("ln(e)=%f\n", log(M_E)); // M_E is 2.71828..., defined in math.h

getchar();
return 0;
}

相关函数:log10

log10原型:extern float log10(float x);用法:#include <math.h>功能:计算x的常用 对数。说明:x的值应大于零。举例: // log10.c

#include <syslib.h>
#include <math.h> main()
{
float x;
clrscr(); // clear screen
textmode(0x00); // 6 lines per LCD screen

printf("lg(5)=%f\n", log10(5.0));

getchar();
return 0;
}

相关函数:log

modf原 型:extern float modf(float num, float *i);用法:#include <math.h>功能:将浮点数num分解成整数部分和小数部分。说明:返回小数部分,将整数部分存入*i 所指内存中。举例: // modf.c

#include <syslib.h>
#include <math.h> main()
{
float x, i;

clrscr(); // clear screen
textmode(0x00); // 6 lines per LCD screen

x=modf(-74.12,&i);
printf("-74.12=%.0f+(%.2f)",i,x);

getchar();
return 0;
}

相关函数:frexp,ldexp
pow10原 型:extern float pow10(float x);用法:#include <math.h>功 能:计算10的x次幂。说明:相当于pow(10.0,x)。举例: // pow10.c

#include <syslib.h>
#include <math.h> main()
{
clrscr(); // clear screen
textmode(0x00); // 6 lines per LCD screen

printf("10^3.2=%f\n",pow10(3.2));
printf("10^3.2=%f",pow(10,3.2));

getchar();
return 0;
}

相关函数:pow

pow原 型:extern float pow(float x, float y);用法:#include <math.h>功 能:计算x的y次幂。说明:x应大于零,返回幂指数的结果。举例: // pow.c

#include <syslib.h>
#include <math.h> main()
{
clrscr(); // clear screen
textmode(0x00); // 6 lines per LCD screen

printf("4^5=%f",pow(4.,5.));

getchar();
return 0;
}

相关函数:pow10

sin原 型:extern float sin(float x);用法:#include <math.h>功 能:计算x(弧度表示)的正弦值。说明:x的值域为[-1.0,1.0]。举例: // sin.c

#include <syslib.h>
#include <math.h> main()
{
float x;
clrscr(); // clear screen
textmode(0x00); // 6 lines per LCD screen

x=M_PI/2; // M_PI=PI=3.14159265..., defined in math.h
printf("sin(PI/2)=%f",sin(x));

getchar();
return 0;
}

相关函数:asin,acos,atan,atan2,cos,tan

sinh原 型:extern float sinh(float x);用法:#include <math.h>功 能:计算x(弧度表示)的双曲正弦值。说明:sinh(x)=(e^x-e^(-x))/2。举例:
// sinh.c

#include <syslib.h>
#include <math.h> main()
{
float x;

clrscr(); // clear screen
textmode(0x00); // 6 lines per LCD screen

x=PI/4.;
printf("sinh(%.4f)=%.4f\n",x,sinh(x));

getchar();
return 0;
}

相关函数:cosh,tanh
sqrt原 型:extern float sqrt(float x);用法:#include <math.h>功 能:计算x的平方根。说明:x应大于等于零。举例:
// sqrt.c

#include <syslib.h>
#include <math.h> main()
{
clrscr(); // clear screen
textmode(0x00); // 6 lines per LCD screen

printf("sqrt(2000)=%f",sqrt(2000.0));

getchar();
return 0;
}

相关函数:无

tan原 型:extern float tan(float x);用法:#include <math.h>功 能:计算x(弧度表示)的正切值。说明:返回x的正切值。举例: // tan.c

#include <syslib.h>
#include <math.h> main()
{
float x;
clrscr(); // clear screen
textmode(0x00); // 6 lines per LCD screen

x=M_PI/4; // M_PI=PI=3.14159265..., defined in math.h
printf("tan(PI/4)=%f",tan(x));

getchar();
return 0;
}

相关函 数:asin,acos,atan,atan2,sin,cos

tanh原型:extern float tanh(float x);用法:#include <math.h>功能:求x的双曲正切 值说明:tanh(x)=(e^x-e^(-x))/(e^2+e^(-x))举例: // tanh.c

#include <syslib.h>
#include <math.h> main()
{
float x;

clrscr(); // clear screen
textmode(0x00); // 6 lines per LCD screen

x=PI/4.;
printf("tanh(%.4f)=%.4f\n",x,tanh(x));

getchar();
return 0;
}

很好的资料
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: