任意多边形的面积可由任意一点与多边形上依次两点连线构成的三角形矢量面积求和得出。

   矢量面积=三角形两边矢量的叉乘。![在这里插入图片描述](https://img-blog.csdnimg.cn/ad4b0cbc427a44b093e046f06d222c1d.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAT2xpdmVyMjE=,size_13,color_FFFFFF,t_70,g_se,x_16#pic_center)按定理,多边形面积由P点与A-G的各顶点连接所构成的三角形矢量面积构成,假定多边形顶点坐标顺序为A-G,逆时针为正方向,则有如下结论:

PAB,PBC,PCD均为顺时针,面积为负;

PDE,PEF,PFG,PGA均未逆时针,面积为正;

但无论正负,均可通过P点与顶点连线的矢量叉乘完成,叉乘结果中已包含面积的正负。

point.class模拟坐标点

class Point{private int x;private int y;
}

方法

  public void getArea(List<Point> objects){int i, j;int area = 0;for (i = 0; i < objects.size(); i++){j = (i + 1) % objects.size();area += objects.get(i).getX() * objects.get(j).getY();area -= objects.get(i).getY() * objects.get(j).getX();}area /= 2;System.out.println(Math.abs(area));}

测试

   @Testpublic void test() {Point x = new Point();x.setX(100);x.setY(100);Point x1 = new Point();x1.setX(100);x1.setY(300);Point x2 = new Point();x2.setX(200);x2.setY(300);Point x3 = new Point();x3.setX(200);x3.setY(100);List<Point> objects = new ArrayList<>();objects.add(x);objects.add(x1);objects.add(x2);objects.add(x3);getArea(objects);}

结果

参考连接

Java计算任意多边形面积相关推荐

  1. vue+d3.js计算任意多边形面积

    效果图 代码 <!DOCTYPE html> <html lang="en"> <head><meta charset="UTF ...

  2. python计算任意多边形面积

    看了一些方法网上的资料,也自己倒腾了一些想法. 然后看到这个大神的博客(<计算任意多边形的面积>),我就服气了. 我把代码转换为python: # 计算任意多边形的面积,顶点按照顺时针或者 ...

  3. python计算多边形的面积并保留两位小数_计算任意多边形面积的Python实现

    最近需要实现一个计算非凸多边形面积的功能,需要输入是顺次排序的多边形顶点坐标,假设输入的多边形顶点是V={v0, v1, v2, -, vn-1},则多边形的边为E={, , ,...,, }.要求输 ...

  4. 计算任意多边形面积的Python实现

    最近需要实现一个计算非凸多边形面积的功能,需要输入是顺次排序的多边形顶点坐标,假设输入的多边形顶点是V={v0, v1, v2, -, vn-1},则多边形的边为E={<v0, v1>, ...

  5. 【几何】计算任意多边形面积

      给定一系列有序的线段(比如按顺序给定每个线段的左端点坐标),求这些线段围成的多边形的面积,公式为:   任意一个点与顺序相邻两点组成的三角形面积之和   分为凸多边形和凹多边形分别证明: 一.凸多 ...

  6. python计算多边形的面积并保留两位小数_Python计算任意多边形面积算法

    多边形面积求解的方法很多,其中比较多见的就是增加一个点P,然后分别连接多边形各个定点与P点,然后计算每个三角形的符号面积(面积有正负之分),求和就可以计算出面积. 鉴于上面的方法,我们也可以用另外一种 ...

  7. python计算图形面积的方法_Python计算任意多边形面积算法

    多边形面积求解的方法很多,其中比较多见的就是增加一个点P,然后分别连接多边形各个定点与P点,然后计算每个三角形的符号面积(面积有正负之分),求和就可以计算出面积. 鉴于上面的方法,我们也可以用另外一种 ...

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

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

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

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

最新文章

  1. iptables 限制网速
  2. 结构体为什么要4字节对齐
  3. 龙果支付 mysql_龙果支付系统搭建与部署
  4. JVM运行时栈帧结构
  5. Android AsyncTask两种线程池分析和总结
  6. 【uoj#209】[UER #6]票数统计 组合数+乱搞
  7. oracle中xml如何存储过程,oracle存储过程生成xml文件
  8. 算法竞赛入门经典 例题6-2 铁轨(C、python)
  9. dp、sp 转换为 px 的工具类
  10. 用scrapy框架爬虫时遇到的错误ValueError: Missing scheme in request url: //scpic3.chinaz.net/Files/pic/pic 9/2021
  11. oracle发生重启动的介绍
  12. Java 容器源码分析之 TreeMap
  13. python实现深度优先搜索_python 递归深度优先搜索与广度优先搜索算法模拟实现...
  14. Hadoop权威指南环境搭建+实例运行
  15. 电脑照片尺寸如何调整成自己想要的
  16. 计算机无法装补丁,老司机教你win7 sp1补丁安装失败怎么办
  17. 上海臻图信息3DGIS+BIM技术助力智慧城市地下综合管廊建设
  18. 家庭的和睦,人生的平淡
  19. 计算机存储盘设置密码,如何在USB驱动器上设置密码并教您如何设置
  20. Python爬虫教程(纯自学经历,保姆级教程)

热门文章

  1. 静态代码分析工具-CasePlayer2
  2. 可以买到 Linux 电脑的 10 个地方
  3. 手机kakao聊天能自动翻译 WhatsApp翻译 实时翻译
  4. 商用油炸锅行业调研报告 - 市场现状分析与发展前景预测
  5. 相位解包裹(五)枝切法(Goldstein’s branch cut algorithm)
  6. 安装keyston 错误BError: (pymysql.err.InternalError) (1071, u‘Specified key was too long; max ke(mysql)
  7. 《2018中国直销银行白皮书》发布 银行面临“颠覆式创新”
  8. 以太坊环境以及Solidity学习笔记
  9. 如何区分网线是几类的_怎么区分买的网线是几类网线?
  10. Android手机连接笔记本电脑上网 linux环境