
angle = atan2(y2-y1,x2-x1);
C有个函数叫atan2(double y, double x),返回的是double类型的弧度值,范围在-pi到+pi之间。
详情参阅http://wwwcpluspluscom/reference/cmath/atan2/
sin(-a)=-sin(a)
cos(-a)=cos(a)
sin(2π-a)=cos(a)
cos(2π-a)=sin(a)
sin(2π+a)=cos(a)
cos(2π+a)=-sin(a)
sin(π-a)=sin(a)
cos(π-a)=-cos(a)
sin(π+a)=-sin(a)
cos(π+a)=-cos(a)
tgA=tanA=sinAcosA
2两角和与差的三角函数
sin(a+b)=sin(a)cos(b)+cos(α)sin(b)
cos(a+b)=cos(a)cos(b)-sin(a)sin(b)
sin(a-b)=sin(a)cos(b)-cos(a)sin(b)
cos(a-b)=cos(a)cos(b)+sin(a)sin(b)
tan(a+b)=tan(a)+tan(b)1-tan(a)tan(b)
tan(a-b)=tan(a)-tan(b)1+tan(a)tan(b)
3和差化积公式
sin(a)+sin(b)=2sin(a+b2)cos(a-b2)
sin(a)sin(b)=2cos(a+b2)sin(a-b2)
cos(a)+cos(b)=2cos(a+b2)cos(a-b2)
cos(a)-cos(b)=-2sin(a+b2)sin(a-b2)
4积化和差公式 (上面公式反过来就得到了)
sin(a)sin(b)=-12[cos(a+b)-cos(a-b)]
cos(a)cos(b)=12[cos(a+b)+cos(a-b)]
sin(a)cos(b)=12[sin(a+b)+sin(a-b)]
5二倍角公式
sin(2a)=2sin(a)cos(a)
cos(2a)=cos2(a)-sin2(a)=2cos2(a)-1=1-2sin2(a)
6半角公式
sin2(a2)=1-cos(a)2
cos2(a2)=1+cos(a)2
tan(a2)=1-cos(a)sin(a)=sina1+cos(a)
7万能公式
sin(a)=2tan(a2)1+tan2(a2)
cos(a)=1-tan2(a2)1+tan2(a2)
tan(a)=2tan(a2)1-tan2(a2)
8其它公式(推导出来的 )
asin(a)+bcos(a)=a2+b2sin(a+c) 其中 tan(c)=ba
asin(a)-bcos(a)=a2+b2cos(a-c) 其中 tan(c)=ab
1+sin(a)=(sin(a2)+cos(a2))2
1-sin(a)=(sin(a2)-cos(a2))2
csc(a)=1sin(a)
sec(a)=1cos(a)
答案是A,C语言表达式!X等价于x==0。
!x 的意思就是 !x 为非0,也就是 x==0
选A,&&表达式是实质上是一个判断:就是当作有两边的 *** 作数都为真时,结果才为真。这里X&&1,右边已经是真值,如果你需要X&&1返回的是真值,那么x就不能为0也就是选A了。
当x→0时,等价无穷小:
(1)sinx~x
(2)tanx~x
(3)arcsinx~x
(4)arctanx~x
(5)1-cosx~1/2x^2
(6)a^x-1~xlna
(7)e^x-1~x
(8)ln(1+x)~x
(9)(1+Bx)^a-1~aBx
(10)[(1+x)^1/n]-1~1/nx
(11)loga(1+x)~x/ln
我只说说π是怎么近似计算出来的,大一应该学过高数,可以知道:tan π/ 4 =1,从而π=4arctan1,应用泰勒公式将arctan(x)展开,就可以得到
代入x=1得
把这展开式展开,直到最后一项的绝对值小于1e-6为止。
下面是C语言递归实现:
#include<stdioh>
#include<mathh>
void main()
{
float fuc(int n);
float s,pi;
for(int i=1;i<10000;i++)
{s=10/(2i-1);
if(s<1e-6)
break;}
pi=fuc(i);
pi=pi4;
printf ("pi=%106f\n",pi);
}
float fuc(int n)
{
float pi;
if(n==1) pi=1;
else if(n%2==0)
pi=fuc(n-1)+(-10)/(2n-1);
else pi=f(n-1)+10/(2n-1);
return(pi);
}
程序运行结果pi=3141498
希望能明白明白π的实现原理,增进你的理解。
//下面的程序经测试过是正确的。
#include<stdioh>
#include<mathh>
double Arctan(double a,float x)
{
int i=0,s=1;
double d=0,d1=0,d2;
double y=0;
do
{
d2=d1;
y=pow(x,2i+1);
d+=sy/(double)(2i+1);
s=-1;
i++;
d1=d;
}
while(fabs(d1-d2)>=1e-5);
return ad1;
}
void main()
{
double y1=0;
double y2=0;
double y3=0;
y1=Arctan(16,10/5);
printf("%lf\n",y1);
y2=Arctan(4,10/239);
y3=y1-y2;
printf("%lf\n",y3);
}
设AB=BD=DE=EC=1
则BC=1+1+1=3
tan角AEB=1/2,tan角ACB=1/3
由公式tan(a+b)=(tana+tanb)/(1-tanatanb)得
tan(角AEB+角ACB)
=(1/2+1/3)/(1-(1/2)×(1/3))
=(5/6)/(5/6)
=1
所以角AEB+角ACB=45度。
扩展资料:
建立了半径与圆周的度量单位以后,希帕克和托勒密先着手计算一些特殊圆弧所对应的弦长。比如 60°弧(1/6圆周长)所对的弦长,正好是内接正六边形的边长,它与半径相等,因此得出60°弧对应的弦值是60个半径单位(半径长的1/60为一个单位)。
用同样的方法,可以算出120°弧、90°弧以及72°弧所对应的弦值。有了这些弧所对应的弦值,接着就利用所称的”托勒密定理”,来推算两条已知所对弦长的弧的”和”与”差”所对的弦长。
以及由一条弧所对的弦长来计算这条弧的一半所对的弦长。正是基于这样一种几何上的推算。他们终于造出了世界上第一张弦表。
-三角函数
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)