求任意多边形面积(凹多边形和凸多边形)
遇到问题:已知多边形的各个左边点,要求多边形的面积
然后我搜索了下看到这篇文章:https://blog.csdn.net/tianyuhang123/article/details/56094559
这个人说的不多,但是简单明了:
首先已知各定点的坐标分别为(x1,y1),(x2,y2),(x3,y3)。。。,(Xn,Yn)
则该多边形的面积公式为
s=1/2*[(x1*y2-x2*y1)+(x2*y3-x3*y2)+...... +(Xk*Yk+1-Xk+1*Yk)+...+(Xn*y1-x1*Yn) ]
这个面积公式可能算出来是正的,也有可能是负的,所以要加绝对值。
最后的面积为:s=abs(s)。
他还附上了C++的代码,有需要的可以看下。
我以为这是算凸多边形面积的公式,心想能不能也有算凹多边形面积的公式。然后我搜到了这篇文章:
http://www.cnblogs.com/TenosDoIt/p/4047211.html
这个人较详细的说明了上面公式也是可以应用于凹多边形的。
在搜索过程中,还发现了另外一种方法:皮克公式。
https://zh.wikipedia.org/wiki/%E7%9A%AE%E5%85%8B%E5%AE%9A%E7%90%86
这个方法也可以求任意多边形面积。不过有限制条件,而且需要栅格的那种。
求任意多边形面积(凹多边形和凸多边形)相关推荐
- 已知三个点坐标求 三角形面积 || 求任意多边形面积公式||判断点在直线的左侧还是右侧
已知三个点坐标求 三角形面积 由A-->B-->C-->A 按逆时针方向转.(行列式书写要求) 设三角形的面积为S 则S=(1/2)*(下面行列式) |x1 y1 1| |x2 y2 ...
- 求任意多边形面积-有向面积
给定多边形的顶点坐标(有序),让你来求这个多边形的面积,你会怎么做? 我们知道,任意多边形都可以分割为N个三角形,所以,如果以这为突破点,那么我们第一步就是把给定的多边形,分割为数个三角形,分别 ...
- hdoj-2036题解-向量积法求任意多边形面积
首先看一道hdoj的算法题:hdoj-2036-改革春风吹满地 该题题意就是逆时针给出点的坐标,求这个多边形的面积.下面就写一下如何用向量积法求多边形面积. 向量积法与面积 上图说明了如何利用向量求得 ...
- python计算多边形的面积并保留两位小数_计算任意多边形面积的Python实现
最近需要实现一个计算非凸多边形面积的功能,需要输入是顺次排序的多边形顶点坐标,假设输入的多边形顶点是V={v0, v1, v2, -, vn-1},则多边形的边为E={, , ,...,, }.要求输 ...
- 计算任意多边形面积的Python实现
最近需要实现一个计算非凸多边形面积的功能,需要输入是顺次排序的多边形顶点坐标,假设输入的多边形顶点是V={v0, v1, v2, -, vn-1},则多边形的边为E={<v0, v1>, ...
- 求任意多边形内部水平方向似最大矩形算法实现
背景说明 前段时间有个求点是否在多边形内部的需求,折腾了不少时间,现截取其中的的重点部分--求任意多边形内部水平方向似最大矩形--来搞篇博客. 求点是否在多边形内部这个算法很容易搞,一搜一大把,但数据 ...
- 求取多边形面积与周长(c++)
求取多边形面积与周长 支持任意多边形,凹.凸皆可 多边形顶点输入时按顺时针顺序排列 面积法一: //**函数部分**struct Point2i {double x; double y; } // 面 ...
- vue+d3.js计算任意多边形面积
效果图 代码 <!DOCTYPE html> <html lang="en"> <head><meta charset="UTF ...
- 【几何】计算任意多边形面积
给定一系列有序的线段(比如按顺序给定每个线段的左端点坐标),求这些线段围成的多边形的面积,公式为: 任意一个点与顺序相邻两点组成的三角形面积之和 分为凸多边形和凹多边形分别证明: 一.凸多 ...
- 一种求任意多边形内部水平方向似最大矩形的算法
文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/ 1.背景 在前一篇中,我们探讨了如何求凸多边形中的似最大圆,但是针对实际 ...
最新文章
- auve子表单中只读不好用
- Java Magic. Part 5: SecurityManager
- Redis Labs 再次更改开源许可证,但 Redis 本身不受影响
- HttpClient基础教程
- linux替换每个英文字开头为大写,shell脚本,文件里面的英文大小写替换方法。...
- BUUCTF(pwn)铁人三项(第五赛区)_2018_rop
- SQL Server Management Studio 过期无法使用解决办法
- C++类特殊成员函数
- [html] 用一个div模拟textarea的实现
- 安全多方计算新突破!阿里首次实现“公开可验证” 的安全方案
- Spring入门学习手册 6:Spring MVC基础中的基础
- 计算机毕业论文指导过程记录表6,毕业论文指导记录表范文
- STM32固件库最新下载方法 2021/6
- vant 个人中心头像修改
- “天天向上”力量的Python教学实例
- 小丁带你走进git世界一-git简单配置
- 唯美雪景雪花飘落代码,附效果演示
- Odoo16 主题推荐
- 未来智安XDR入选《CCSIP 2022中国网络安全产业全景图》
- mysql: create routin表示的是什么?,关于mysql create routine 权限的一些说明
热门文章
- IOS OpenGL ES GPUImage 图像 XYDerivative 边缘检测 GPUImageXYDerivativeFilter
- JAVA前后端分离项目实战
- Qt优秀开源项目之十四:SortFilterProxyModel
- 基于ENVI的landsat8辐射定标和大气校正
- Android根据经纬度计算距离
- lj245a引脚功能图_JRC4558中文资料|引脚图及功能|应用电路图
- 学好单片机编程设计的方法和3个步骤
- matlab opnet,OPNET中设计网络 MATLAB
- 卷积码树状图怎么画_卷积码编码器怎么画 浅谈卷积码编码器设计
- 计算机键盘基础知识课件,高中信息技术计算机基础应用课件:键盘操作练习