给定一系列有序的线段(比如按顺序给定每个线段的左端点坐标),求这些线段围成的多边形的面积,公式为:
任意一个点与顺序相邻两点组成的三角形面积之和
分为凸多边形和凹多边形分别证明:
一、凸多边形
如下所示的凸多边形,显然是对的,因为所有三角形拼起来就是整个多边形。
Stotal=S△ABC+S△ACD+S△ADES_{total} = S_{△ABC} + S_{△ACD} + S_{△ADE}Stotal=S△ABC+S△ACD+S△ADE,每个三角形的面积通过向量的叉乘的 1/2 计算(两个向量的叉乘几何意义就是两个向量组成的平行四边形面积),也就是 S△ABC=12∗AB→×AC→S_{△ABC} = \frac {1}{2} * \overrightarrow{AB} \times \overrightarrow{AC}S△ABC=21∗AB×AC (其他三角形同理)。
二、凹多边形
凹多边形就不是那么显而易见了,因为每段线段按顺序和一个顶点相连后,很可能出现三角形覆盖面积不是多边形内部的情况出现,如下图:
这时,公式仍然是:Stotal=S△ABC+S△ACD+S△ADES_{total} = S_{△ABC} + S_{△ACD} + S_{△ADE}Stotal=S△ABC+S△ACD+S△ADE,这是因为三角形面积是有正负的!,S△ABCS_{△ABC}S△ABC 的值由于 B 和 C 的顺序关系,变成了负数,也就是说,多边形面积应该是区域1 + 区域2,S△ABC=−3S_{△ABC} = -3S△ABC=−3,S△ACD=3+2S_{△ACD} = 3 + 2S△ACD=3+2,S△ADE=1S_{△ADE} = 1S△ADE=1,所以 Stotal=S△ABC+S△ACD+S△ADE=−3+3+2+1=2+1S_{total} = S_{△ABC} + S_{△ACD} + S_{△ADE} = -3 + 3 + 2 + 1 = 2 + 1Stotal=S△ABC+S△ACD+S△ADE=−3+3+2+1=2+1,还是正确的。
另外,不选用多边形上的端点也是可以的,平民内任意点都是可以的。
如果觉得《【几何】计算任意多边形面积》对你有帮助,请点赞、收藏,并留下你的观点哦!