我还是简单解释一下,如果是没有读过高等数学的朋友,也让你大致明白。
  定积分的本质是求和,计算f(x)在积分区间[a,b]上的一个和S,首先把积分区间分成n份,这样的分法记为λ,记Δ(λ)=max{Δx|[xi-1,xi]},也就是所有这些分成的小段中长度最大的一段的长,如果当Δ→0的时候,和式S=∑f(θ)Δx (θ∈[xi-1,xi])的极限如果存在的话,就称其为f(x)在[a,b]上的定积分,记为
b
∫f(x)dx
a
  其意义从几何上解释,就是f(x)的曲线与x轴、直线x=a,x=b围成的图形的面积。
  现在要求的多边形是由线段组成的,只要把所有的线段都求定积分,最后把和加起来,就是多边形的面积。这个推论的证明从略。值得注意的是,用定积分求的面积有正负之分,即:
∫f(x)dx=-∫f(x)dx

从a积到b,与从b积到a只相差一个负号。

  线段定积分的计算公式的推导

给出两个点,如何求这两点连成的线段的定积分值呢?
直线的方程可以用y=kx+b表示,所以围成的面积
S=
x2
∫(kx+b)dx
x1
=k/2(x2^2-x1^2)+b(x2-x1)

而斜率k=(y2-y1)/(x2-x1)
截距b=y1-kx1=y1-x1(y2-y1)/(x2-x1),代入前式得
S=(y2-y1)(x2+x1)/2+y1(x2-x1)-x1(y2-y1)
=(x2-x1)(y1+y2)/2
这让我想到一个初等公式,梯形面积公式,y1,y2看成上下底,(x2-x1)看成是高,上底加下底乘高除二,对直线定积分得到的正是这个梯形的面积。这样走了一个大弯又回到初中了。

  C++程序代码

#include<iostream.h>

float linesqr(x1,y1,x2,y2)
float x1,y1,x2,y2;
{return (x2-x1)*(y1+y2)/2.0;}

void main()
{
float fx,fy,x1,y1,x2,y2,s=0.0;
int n,i;
cout<<"多边形的顶点数";
do{cin>>n;}
while(n<3);
cout<<"第1个点坐标"<<endl;
cin>>x1>>y1;fx=x1;fy=y1;
cout<<"第2个点坐标"<<endl;
cin>>x2>>y2;
s=linesqr(x1,y1,x2,y2);
for(i=3;i<=n;++i)
{
  x1=x2;y1=y2;
  cout<<"第"<<i<<"个点坐标"<<endl;
  cin>>x2>>y2;
  s+=linesqr(x1,y1,x2,y2);
}
s+=linesqr(x2,y2,fx,fy);//首尾相连
cout<<"多边形的面积为"<<s<<endl;
}

转载于:https://www.cnblogs.com/zhangdongdong/archive/2013/01/09/2853510.html

转:求多边形的面积 算法几何相关推荐

  1. golang求多边形相交面积

    直接上代码, 根据网上c++版本翻译 package mainimport ("fmt""math" )const maXn int = 300 const e ...

  2. JTS求多边形重合面积

    前言 通过JTS可以实现多边形求面积以及多个多边形求重合度,本文章只列举几个简单的使用例子. 详细的文档使用链接:http://www.tsusiatsoftware.net/jts/main.htm ...

  3. 2、求三角形的面积算法

    我们已经知道三角形的三条边a,b,c;利用海伦公式,我们可以求出它的面积. p=(a+b+c)/2   S面积=sqrt(p*(p-a)*(p-b)*(p-c)) 就可以求得. //求三角形面积 #i ...

  4. POJ1279(求多边形内核的面积)

    题目:Art Gallery 先求出内核,然后再求多边形的面积就行. /* Goujinping 2013.4.12 NEFU The masterplate of Polygon kernel. N ...

  5. 已知三点坐标求三角形面积等几何图形学问题算法

    算法1. 求多边形面积 设A(x1,y1),B(x2,y2),C(x3,y3) 由A–>B–>C–>A 按逆时针方向转.(行列式书写要求) 设三角形的面积为S 则S=(1/2)(下面 ...

  6. 已知空间中的三点 求三角形面积_梳理中关联 变式中提升——“多边形的面积”整理与复习教学实践...

    向你介绍我是谁 大家好!我是一课研究第22组成员王冬,来自浙江省瑞安市莘塍第六小学.很高兴与您在此相遇! 本期内容有哪些 ○听一听:周卫东<数学教学,需要沉潜> ○读一读:梳理中关联,变式 ...

  7. 【算法】推步聚顶 计算多边形的面积

    计算多边形的面积 "数性至朴,算学是天下最诚实的东西,一加一永远是二,五乘四永远是二十,而十二自实永远是一百四十四." 这世上,人心比算学更复杂.人际关系让人疲惫,还是数学比较单纯 ...

  8. 三角剖分求多边形面积的交 HDU3060

    1 //三角剖分求多边形面积的交 HDU3060 2 3 #include <iostream> 4 #include <cstdio> 5 #include <cstr ...

  9. HDOJ-2036 求多边形面积

    求给定的多边形面积,首先可以分割为数个三角形,分别求面积,最后累加即可. 对上图而言,多边形的面积就是:(S:1,a:2,b:3,c:4,d:5,e:6) S(1->6) = S(1,2,3) ...

最新文章

  1. Qt5.10.1在Windows平台下进行静态编译
  2. 第8章 Iptables与Firewalld防火墙
  3. matlab蚁群算法 降维,基于蚁群算法的路由问题研究
  4. AS插件-android-selector-chapek
  5. [转] Oracle中Blob转Clob
  6. 使用SAP Analytics Cloud统计SAP C4C系统创建Lead里包含的产品信息分布情况
  7. win7局域网计算机 慢,Win7系统开机宽带连接很慢怎么办?
  8. scala 当前日期_如何在Scala中检查当前日期和时间?
  9. 【leetcode】1053. Previous Permutation With One Swap
  10. 从“连接”到“交互”—阿里巴巴智能对话交互实践及思考
  11. html页面插歌,怎样在HTML播放器里插入歌曲
  12. 计算机联锁的功能核心,什么叫计算机联锁.doc
  13. 缺陷检测相关论文阅读总结(记录自己读过的论文主要内容/Ideas)
  14. python qq自动发消息软件_Python之qq自动发消息的示例代码
  15. 六边形3d立体缩放动画js特效
  16. Word页眉页码、公式编号、引用文献编号
  17. 2018沈阳k(经典的约瑟夫环)
  18. Sentence-Transformer的使用及fine-tune教程
  19. 实验(八):交通灯控制
  20. SEA创建、网卡聚合

热门文章

  1. 【C/C++语法外功】C/C++头文件一览[轉]
  2. VC++,掀起你的盖头来
  3. video camera in shanghai
  4. 数学建模感悟:新的算法的学习
  5. C++2 dimension vector
  6. centos6.2安装五笔输入法
  7. vue使用总结-生命周期篇
  8. Java中如何读写cookie (二)
  9. DataSourceUtils(使用C3P0连接池的工具类)
  10. 自定义复制和新建的文件名