//求任意多边形的面积
/*语法:result = polygonarea(vector<Point>&polygon, int N);
参数:
polygon:多变形顶点数组
N:多边形顶点数目
返回值:多边形面积
注意:
支持任意多边形,凹、凸皆可
多边形顶点输入时按顺时针顺序排列*/
#include <iostream>
#include <vector>
using namespace std;
typedef struct  Point{double x, y;Point(){}
} Point;
double polygonarea(vector<Point>&polygon, int N)
{int i, j;double area = 0;for (i = 0; i<N; i++) {j = (i + 1) % N;area += polygon[i].x * polygon[j].y;area -= polygon[i].y * polygon[j].x;}area /= 2;return(area < 0 ? -area : area);
}//测试函数
int main(){vector<Point> polygon;int n;cin >> n;polygon.resize(n);int i = 0;while (n--){double x, y;cin >> x >> y;polygon[i].x = x;polygon[i].y = y;++i;}cout << "此多边形的面积为" << polygonarea(polygon, polygon.size()) << endl;return 0;
}

C++实现——任意多边形的面积相关推荐

  1. 凸多边形面积_C++计算任意多边形的面积

    任意多边形的面积计算_拾忆楓灵的博客-CSDN博客​blog.csdn.net 计算任意多边形的面积 - tenos - 博客园​www.cnblogs.com 完美解决计算3D空间任意多边形面积_S ...

  2. 任意多边形的面积公式

    设Ω是m边形(如下图),顶点沿边界正向排列,坐标依次为 建立Ω的多边形区域向量图. 由图知坐标原点与多边形任意相邻的两个顶点构成一个三角形,而三角形的面积可由三个顶点构成的两个平面向量的外积求得. 任 ...

  3. 计算任意多边形的面积

    转载自 对于凸多边形,很容易计算,如下图,以多边形的某一点为顶点,将其划分成几个三角形,计算这些三角形的面积,然后加起来即可.已知三角形顶点坐标,三角形面积可以利用向量的叉乘来计算. 对于凹多边形,如 ...

  4. 计算任意多边形的面积(Android)

    需求 线段:算出地图上线段的实际长度 面积:算出地图上不规则多边形的实际面积 解决方案 1.线段的实际长度 直接使用高德的AMapUtils.calculateLineDistance(latLng, ...

  5. c++如何求任意多边形的面积

    由于项目需要,求解任意不规则多边形的面积 ,想了很久,也不知道怎么叙述,直接代码展示吧 #include <iostream> #include <vector> using ...

  6. HDOJ2036改革春风吹满地笔记——任意多边形求面积

    题目地址 学习了任意多边形的计算,通过向量叉乘来进行计算. 计算公式 如果逆时针给出坐标,求得是正的,就是答案.如果顺时针给出坐标,求得是负,需要变正 具体推导过程 博客地址1 还学了海伦公式求三角形 ...

  7. [几何] 计算任意多边形的面积、中心、重心

    最近项目用到:在不规则任意多边形的中心点加一个图标.(e.g: xx地区发生暴雪,暴雪区域是多边形,给多边形中心加一个暴雪的图标) 之前的设计是,计算不规则多边形范围矩形bounds的中心点.这个比较 ...

  8. 任意多边形的面积(C语言)

    [问题描述] 给出平面上一组顶点的坐标,计算出它们所围成的凸多边形的面积. [输入形式] 从标准输入读取顶点坐标.格式为:第一行是点的个数N(3<N<15),后面紧接着N行,每行两个数字 ...

  9. 任意多边形面积计算公式

    设Ω是m边形(如下图),顶点沿边界正向排列,,坐标依次为 建立Ω的多边形区域向量图. 由图知坐标原点与多边形任意相邻的两个顶点构成一个三角形,而三角形的面积可由三个顶点构成的两个平面向量的外积求得. ...

最新文章

  1. Vista下的五笔输入法
  2. 一个案例说出python的十余个语法知识点
  3. Cloudera将被私有化,Hadoop时代或将落幕
  4. shell语法 06-Linux文本处理-grep
  5. plt python 画直线_Matplotlib:先搞明白plt. /ax./ fig再画
  6. Panoptic Segmentation论文笔记
  7. 解决Homebrew报错Error: Failure while executing; git clone https://github.com/Homebrew/homebrew-core....
  8. 前端向后端传参报415_ajax往后台传json格式数据报415错误
  9. 移动硬盘拒绝访问问题解决方法
  10. 生如夏花之灿烂,死如秋叶之静美
  11. 【学术】进行一场“认真准备的学术汇报”
  12. 华为openEuler系统-虚拟机(VMware)安装
  13. 计算机网络实验一、验证性实验
  14. Win10删除微软拼音输入法的方法
  15. Golang Cannot use ss(type AAA) as type AAA in map index
  16. Android实例之必应每日一图
  17. 小米红米Note4X(高配版)线刷兼救砖_解账户锁_纯净刷机包_教程
  18. CustomerList
  19. 网上发行和网下发行的区别
  20. FlickPlay 和 The Sandbox 达成合作关系

热门文章

  1. 绿色版的谷歌浏览器chrome
  2. 关于JSON.stringify()的用法
  3. 人脸识别相关的数据集汇总
  4. hdu5761Rower Bo(计算几何)
  5. Visual Studio “无可用源“ 问题
  6. 用AI生成的画作,在淘宝拍卖到了4位数
  7. 【3D视觉创新应用竞赛作品系列​】轻量化、松耦合的手持RGB-D室内环境实时重建系统
  8. 旺店通·企业奇门与用友BIP旺店通销售出库单对接销售订单
  9. 内存管理 —— 虚拟存储的基本概念
  10. 关于数据库的网络存储