C语言算法-求两直线夹角计算公式

设两直线夹角为θ,l1的倾角为α,l2的倾角为β.

则:tanα=( y2-y2 )/( x2-x1 ) tanβ=( y4-y3 )/( x4-x3 )

根据两直线夹角公式得:

tanθ= ( | tanα-tanβ | ) / ( 1 + tanα*tanβ )

所以

θ = arc tan[( | tanα-tanβ | ) / ( 1 + tanα*tanβ )]

最后分别把 tanα , tanβ 代入.

 

下附一段测试代码:

#include <math.h>
#include <stdio.h>
//编写:GUO (QQ:349384061)
void main( void )
{
   double pi = 3.1415926535;
   double tan1,tan2;
   double tan3,angle;
   tan1 = tan(pi * 30 / 180);
   tan2 = tan(pi * 120 / 180);
   tan3 = fabs(tan1 - tan2) / (1 + tan1 * tan2);
   angle = atan(tan3) / pi * 180;
   printf("tan1:%f\n",tan1);
   printf("tan2:%f\n",tan2);
   printf("tan3:%f\n",tan3);
   printf("angle:%f\n",angle);
}

 

转载于:https://www.cnblogs.com/guobbs/p/3780067.html

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值