博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【模板】图形面积计算
阅读量:5057 次
发布时间:2019-06-12

本文共 777 字,大约阅读时间需要 2 分钟。

①三角形-海伦公式(已知三边)

formula

公式中a,b,c分别为三角形三边长,p为半周长,S为三角形的面积。

ps:因为有根号的出现,精度损失较大!!

double STriangle(double a,double b,double c){    double p=(a+b+c)*0.5;    double s=sqrt(p*(p-a)*(p-b)*(p-c));    return s;}

 

②三角形-二阶行列式算法(已知三点坐标)

设A(x1,y1),B(x2,y2),C(x3,y3) 在坐标系中中顺序为三点按逆时针排列;

公式:S = fabs( 0.5*[(x1y2-x2y1) + (x2y3-x3y2) + (x3y1-x1y3)] )

struct point{    double x,y;};double STriangle(point a,point b,point c){    return 0.5*fabs((a.x*b.y-b.x*a.y)+(b.x*c.y-c.x*b.y)+(c.x*a.y-a.x*c.y));}

 

③正多边形-通式(已知边长)

假设正多边形边长是x

(1) 把正n边形先分成n个三角形

(2) 每个小三角形对应的圆心角是2π/n,所以三角形的高就是 (x/2)/tan(π/n)

(3) 三角形面积是 1/2*x*(x/2)/tan(π/n) = x²/[4tan(π/n)]

(4) 从而正n边形面积是 S = nx²/[4tan(π/n)]

#define pi acos(-1)double pic(int n,double x){    return n*x*x/(4.0*tan(pi/n));}

 

转载于:https://www.cnblogs.com/kannyi/p/9051611.html

你可能感兴趣的文章
设计模式笔记20:解释器模式(Interpreter Pattern)
查看>>
css一般的表格样式
查看>>
Dijkstra算法+堆优化处理
查看>>
oracle中字段名与sql关键词重复的处理方法
查看>>
[svc]ssh生成key不交互
查看>>
docker:安装mysql
查看>>
Linux 的cp命令
查看>>
SQL语句
查看>>
ThinkPHP里面用原生SQL
查看>>
博客园批量发闪存,获取小星星
查看>>
【EXCEL】冻结窗口的设置
查看>>
Hey~
查看>>
2576
查看>>
2719
查看>>
css中一些常用技巧
查看>>
oracle cast (一)
查看>>
第20章—跨域访问(CORS)
查看>>
关于C#的DataGridView设置了DataSource后Rows无值问题
查看>>
是否需要有代码规范
查看>>
php中点击网页不跳转执行程序
查看>>