Friday, June 7, 2013

[转]IOS开发常用数学函数

      1、 三角函数 
  double sin (double);正弦 
  double cos (double);余弦 
  double tan (double);正切 
  2 、反三角函数 
  double asin (double); 结果介于[-PI/2, PI/2] 
  double acos (double); 结果介于[0, PI] 
  double atan (double); 反正切(主值), 结果介于[-PI/2, PI/2] 
  double atan2 (double, double); 反正切(整圆值), 结果介于[-PI, PI] 
  3 、双曲三角函数 
  double sinh (double); 
  double cosh (double); 
  double tanh (double); 
  4 、指数与对数 
  double exp (double);求取自然数e的幂 
  double sqrt (double);开平方 
  double log (double); 以e为底的对数 
  double log10 (double);以10为底的对数 
  double pow(double x, double y);计算以x为底数的y次幂 
  float powf(float x, float y); 功能与pow一致,只是输入与输出皆为浮点数 
  5 、取整 
  double ceil (double); 取上整 
  double floor (double); 取下整 
  6 、绝对值 
  double fabs (double);求绝对值 
  double cabs(struct complex znum) ;求复数的绝对值 
  7 、标准化浮点数 
  double frexp (double f, int *p); 标准化浮点数, f = x * 2^p, 已知f求x, p ( x介于[0.5, 1] ) 
  double ldexp (double x, int p); 与frexp相反, 已知x, p求f 
  8 、取整与取余 
  double modf (double, double*); 将参数的整数部分通过指针回传, 返回小数部分 
  double fmod (double, double); 返回两参数相除的余数 
  9 、其他 
  double hypot(double x, double y);已知直角三角形两个直角边长度,求斜边长度 
  double ldexp(double x, int exponent);计算x*(2的exponent次幂) 
  double poly(double x, int degree, double coeffs [] );计算多项式 
  nt matherr(struct exception *e);数学错误计算处理程序

http://blog.csdn.net/zyc851224/article/details/7843859

Saturday, June 1, 2013

[转]弧度和角度的定义和转换


DEGREES函数的功能是将用弧度表示的参数转换为角度,RADIANS函数的功能是将用角度表示的参数转换为弧度。这两个函数的表达式为:
  DEGREES(angle)
  RADIANS(angle)
  其中DEGREES函数的参数angle表示待转换的弧度,RADIANS函数的参数angle表示需要转换成弧度的角度。
  示例如图所示
  B2中输入公式“=DEGREES(PI()/4)”pi/4弧度对应的角度。
  B3中输入公式“=DEGREES(-PI()/3)”-pi/3弧度对应的角度。
  B4中输入公式“=RADIANS(120)”120度对应的弧度值。
  B5中输入公式“=RADIANS(45)”45度对应的弧度值。

一、角的两种单位
弧度是度量角大小的两种不同的单位。就像市尺是度量长度大小的两种不同的单位一样。
  
flash里规定:在旋转角度(rotation)里的角,以为单位;而在三角函数里的角要以弧度为单位。这个规定是我们首先要记住的!!!例如:rotation2--是旋转“2sinπ/2)--是大小为“π/2弧度的角的正弦。

    
二、弧度的定义
    
所谓弧度的定义就是说,1弧度的角大小是怎样规定的?
    
我们知道的定义是,两条射线从圆心向圆周射出,形成一个夹角和夹角正对的一段弧。当这段弧长正好等于圆周长的360分之一时,两条射线的夹角的大小为1度。(如图1
  
    
那么,弧度又是怎样定义的呢? 弧度的定义是:两条射线从圆心向圆周射出,形成一个夹角和夹角正对的一段弧。当这段弧长正好等于圆的半径时,两条射线的夹角大小为1弧度。(如图2
      
比较一下,度和弧度的这两个定义非常相似。它们的区别,仅在于角所对的弧长大小不同。度的是等于圆周长的360分之一,而弧度的是等于半径。
      
简单的说,弧度的定义是,当角所对的弧长等于半径时,角的大小为1弧度。


此主题相关图片如下:




      角所对的弧长是半径的几倍,那么角的大小就是几弧度。
它们的关系可用下式表示和计算:
    
角(弧度)=弧长/半径
圆的周长是半径的倍,所以一个周角(360度)是弧度。
半圆的长度是半径的 π倍,所以一个平角(180度)是 π弧度。

   
三、度跟弧度之间的换算
   
据上所述,一个平角是 π 弧度。
    180度=π弧度
由此可知:
     1
度=π/180 弧度 ( ≈0.017453弧度 )
因此,得到 把度化成弧度的公式:
    
弧度=度×π/180
例如:
      90°
90×π/180 π/2 弧度
      60°
60×π/180 π/3 弧度
      45°
45×π/180 π/4 弧度
      30°
30×π/180 π/6 弧度
      120°
120×π/180 2π/3 弧度

反过来,弧度化成度怎么算?
因为    π弧度=180°
所以   1弧度=180°/π ≈57.3°
因此,可得到 把弧度化成度的公式:
     
度=弧度×180°/π
例如:
      4π/3
弧度=4π/3 ×180°/π
    
240°

也许有些朋友会说,究竟是乘以“π/180 ”,还是“180°/π”很容易搞错。其实你只要记住:ππ弧度,180180度。我要化成什么单位,就要把有这个单位的放在分子上。也就是说我要化成弧度,就要把π弧度放在分子上--乘以π/180 。另外,1度比1弧度要小得多,大约只有0.017453弧度(π/180≈0.017453)。所以把度化成弧度后,数字肯定要变小,那么化弧度时一定是乘以π/180 了。能够这样想一想,就不会搞错了。

AS代码里把“π”写成“PI”。又因为“π”“sin”都是数学函数,按规定要在前面加上“Math.”Math是英语中数学”Mathematics的缩写),加上后写成“Math.PI”“Math.sin”
所以    sin30°就得写成 Math.sin30*Math.PI/180)。其中小括弧内的部分是把30°化为弧度,即30×π/180

如果把这些都弄明白了,你看到弧度,不会再糊涂了吧

转自http://wenku.baidu.com/view/7f71b5d7195f312b3169a56b.html