基础求面积

已知三角形三边a,b,c
1.海伦公式

p = (a+b+c)/2; (p是半周长)
面积S = sqrt(p*(p-a)+p*(p-b)+p*(p-c));
``

2.余弦公式

```cpp
cosc=(double)(a*a+b*b-c*c)/(2.0*a*b);
sinc=sqrt(1-d*d);
面积S=0.5*a*b*sinc;

已知二维空间内三角形三个顶点坐标为:(x1, y1 ),(x2,y2 ),( x3, y3)

三角形面积公式:
公式(1)S = abs(x1*(y2-y3) + x2*(y3-y1) + x3*(y1-y2))/2;

求两相交圆的面积

#include<iostream>  
#include<cmath>  
using namespace std;  
#define pi acos(-1.0)  
typedef struct node  
{  
    int x;  
    int y;  
}point;  
  
double AREA(point a, double r1, point b, double r2)  
{  
    double d = sqrt((a.x-b.x)*(a.x-b.x) + (a.y-b.y)*(a.y-b.y));  
    if (d >= r1+r2)  
        return 0;  
    if (r1>r2)  
    {  
        double tmp = r1;  
        r1 = r2;  
        r2 = tmp;  
    }  
    if(r2 - r1 >= d)  
        return pi*r1*r1;  
    double ang1=acos((r1*r1+d*d-r2*r2)/(2*r1*d));  
    double ang2=acos((r2*r2+d*d-r1*r1)/(2*r2*d));  
    return ang1*r1*r1 + ang2*r2*r2 - r1*d*sin(ang1);  
}  
  
int main()  
{  
    point a, b;  
    a.x=2, a.y=2;  //圆心坐标
    b.x=7, b.y=2;  
    double result = AREA(a, ra, b,rb);  //半径ra,rb
    printf("%lf\n", result);  
    return 0;  
}  

求两点间距离

struct point {
	double x,y;
}a,b;
double dist(point a,point b) //求两点间距离 
{
	return sqrt((a.x-b.x)*(a.x-b.x)+(a.y-b.y)*(a.y-b.y));
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值