c语言。 已经知道两个点的坐标,想要计算过这两点的直线的倾斜角,有没有什么函数能用呢? 我的想法是

c语言。 已经知道两个点的坐标,想要计算过这两点的直线的倾斜角,有没有什么函数能用呢? 我的想法是,第1张

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°弧所对应的弦值。有了这些弧所对应的弦值,接着就利用所称的”托勒密定理”,来推算两条已知所对弦长的弧的”和”与”差”所对的弦长。

以及由一条弧所对的弦长来计算这条弧的一半所对的弦长。正是基于这样一种几何上的推算。他们终于造出了世界上第一张弦表。

-三角函数

欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/langs/12461587.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-23
下一篇2023-05-23

发表评论

登录后才能评论

评论列表(0条)

    保存