5分钟理解外积计算多边形面积

在矢量结构下,面状物体用其轮廓线构成的多边形表示,对于简单多边形,设有n个顶点,面积计算公式为:

公式如何得来的呢?

此公式涉及数学中的外积,外积即叉乘:

  • “a×b” 在二维空间中表现为下述公式中一个数值,数值上等于以a,b为边的平行四边形面积:

  • “a×b” 在三维空间中表现是一个矢量,且与a,b所在面垂直,且有坐标计算公式:

    为了便于记忆,一般写为行列式形式,注意不是行列式,只是形式便于记忆:
    外积坐标下x,y,z的计算根据上边的形式可以记忆为 除去轴所在行列,进行交叉相乘,即


    根据上述背景,我们结合二三维上的表现,可以看出两个边所构成的平行四边形面积数值上等于外积矢量的长度即|z |
那么我们在以一个多边形,举例即可得到面积计算公式,如图:

    ▱1234以逆时针排序号,以右手系为基准,那么逆时针方向三角形面积为正。
    我们将每个顶点与原点相连,得到含原点的4个三角形,∆012,∆023,∆034,∆041每个三角形面积有统一求法,例如∆012由01,02两个矢量边构成,那么三角形面积等于其组成的平行四边形面积的一半所以有关系:

                                           *换句话说 三角形面积等于外积矢量长度的一半

其他三角形同理。

又因为逆时针为正,顺时针为负,可以由几何关系可以得到▱1234的面积等于

综上我们可以得出以右手系为基准的多边形计算公式:

说明:其中为外积矢量的长度;第N个点即第1个点

5分钟理解外积计算多边形面积相关推荐

  1. python计算多边形面积_Python求凸包及多边形面积教程

    一般有两种算法来计算平面上给定n个点的凸包:Graham扫描法(Graham's scan),时间复杂度为O(nlgn):Jarvis步进法(Jarvis march),时间复杂度为O(nh),其中h ...

  2. 通过坐标点位,计算多边形面积

    多边形面积 本文使用三角形面积累计法计算多边形面积,就是将多边形按照一个顶点,分割成多个三角形,计算三角形的面积,累加,得到多边形的面积. 当然,这个算法也有一些缺点,当这个多边形比较奇怪的时候,不能 ...

  3. Java 根据多边形坐标点 计算多边形面积

    请仔细阅读代码注释(有肯多坑,跟着注释走没问题) 亲测有效 /*** 计算多边形面积公式** @author Lion Li* @date 2020-05-19*/ public class Poly ...

  4. 判断多边形的凹凸性和计算多边形面积:利用向量叉乘

    根据百度百科的讲解: 凸多边形 现在重点讲解顶点凹凸性法(最常用也是较为简单的方法):计算总结在最后. 利用向量叉乘的相关知识进行计算:假设当前连续的三个顶点分别是P1,P2,P3.计算向量P1P3, ...

  5. 向量法计算多边形面积

    计算多边形面积的方法为将多边形分解成多个三角形,然后把这些三角形的面积相加.三角形面积为两边向量叉积除以2. 这是Java代码,目前是第3版 ,已经尽可能优化了,相比初版有25%的性能提升. /*** ...

  6. python计算多边形面积

    本文提供一个简单的方法计算多边形面积,参考维基百科 实现代码: def polygon_area(polygon):"""compute polygon areapoly ...

  7. matlab 二维凸包面积,PKU——3348——(凸包和计算多边形面积)

    //3348 Accepted 264K 0MS C++ 4016B//典型的凸包和计算多边形面积#include#include#include#include#include#includeusi ...

  8. matlab计算多边形面积polyarea函数

    一.语法 1.a = polyarea(x,y) 返回向量 x 和 y 中的顶点定义的二维多边形的面积. 如果 x 和 y 是相同长度的向量,则 polyarea 返回 x 和 y 定义的多边形的标量 ...

  9. 如果使用PostGIS的ST_Area函数计算多边形面积

    问题 最近遇到了一个很奇怪的问题,是使用ST_Area计算出的面积特别小. select st_area( ST_SetSRID(ST_GeomFromText( 'POLYGON ((115.440 ...

最新文章

  1. Sql server管理工具SQLManagementStudio2008的安装
  2. 用Python实现快速排序
  3. UVA1262Password(第K字典序)
  4. 无处不在的container_of
  5. 1.9 编程基础之顺序查找 09 直方图 9分 python
  6. FPGA转正总结(标准版)
  7. 比亚迪拟发债100亿元补充营运资金偿还借款
  8. Ubuntu使用U盘把从互联网上下载的安装包及其依赖更新到内部机
  9. mysql从一个表查询插入另一个表存在时更新_漫谈MySQL的锁机制
  10. ROST_CM6软件之词频分析、社会网络和语义网络分析、情感分析
  11. sms实现wap push的方法和格式
  12. 低功耗视频解码芯片-TVP5150
  13. 使用python实现猴子摘香蕉问题
  14. MT4单均线变色代码实例
  15. Quora Question Pairs 思路记录
  16. 小武与YOLOv3 ---- 优图代码
  17. 40万奖金 | 阿里云天池第三届数据库性能大赛,广邀英才挑战创新上云
  18. K8S 部署电商项目
  19. HDFS文件查看与创建
  20. 互联网架构概述 互联网架构演变过程

热门文章

  1. Ubuntu 网络用不了
  2. TCP的流量窗口……看完笑出鹅叫声
  3. 2021苹果春季发表会懒人包:AirTags、iMac、iPad Pro、Apple TV 4K
  4. win10系统无法调节亮度
  5. [CF1799F] Halve or Subtract 题解
  6. 手机首次充电方法及关于锂电池充电的正确知识ZZ
  7. 流形学习-Manifold Learning
  8. css iphone安全底部
  9. linux usb ehci 驱动解读(一)
  10. 无法解析的外部符号的几个原因