代远大 钟鸣
摘要:用解析法计算多边形的周长和面积时,需要进行大量的、复杂的中间数据处理,才能得到最终结果。Excel数组公式的应用,可以避开对中间数据的直接处理,通过数组公式的设计,便捷地计算出最终结果。
关键词:坐标解析法;Excel数组公式;多边形;周长;面积
中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2017)31-0214-01
在测量处理工作中,通常需要根据多边形顶点的坐标,计算多边形的周长和面积,方法有很多,但最精准的、最科学的方法是解析法。然而解析法涉及大量的、复杂的数据处理,在计算机应用普及的时代,如何提高数据处理的功效,让人们从繁杂的数据处理工作中解放出来,通过对Microsoft Office Excel 的精心设计,可以轻松实现这一目标。
1 开发环境
Microsoft Office Excel 2007中文版
2 设计依据
点间距离解析法 :L =[ (Xi+1-Xi)2+(Yi+1-Yi)2 ]
多边形面积解析法:S =[ 12*(Xi*Yi+1-Xi+1*Yi)]
其中:[Xi、Xi+1、Yi、Yi+1]为相邻两点的X坐标和Y坐标。
3 设计过程
1) 新建一个工作簿文件,命名为“Polygon.xlsx”。
2) 新建一个工作表,命名为“多边形”,表格设计样式如下图所示:
图1
3) 定义三个单元格区域名称:
A7:A50 — 定义名称为“序号”
B7:B50 — 定义名称为“X”
C7:C50 — 定义名称为“Y”
4) 在A7单元格中输入公式:=IF(AND(B7="",C7=""),"",ROW(A7)-ROW($A$6))。
利用单元格的填充柄,将该公式向下填充至A50。
功能:在X坐标、Y坐标输入后,自动生成从1开始的坐标序号。
5) 在C2单元格中输入数组公式:
=SUM(SQRT((B8:B50-B7:B49)^2+(C8:C50-C7:C49)^2))-SQRT(INDEX(X,MAX(序号))^2+INDEX(Y,MAX(序号))^2)+SQRT((INDEX(X,MAX(序號))-B7)^2+(INDEX(Y,MAX(序号))-C7)^2)
注意:本公式为数组公式,输入后,应同时按“Ctrl+ Shift+ Enter”组合键。
功能:利用解析法计算边长,然后累加求和得到多边形周长。
6) 在C3单元格中输入数组公式:
=ABS(SUM(B7:B49*C8:C50-C7:C49*B8:B50)+INDEX(X,MAX(序号))*C7-INDEX(Y,MAX(序号))*B7)/2
注意:本公式为数组公式,输入后,应同时按“Ctrl+ Shift+ Enter”组合键。
功能:利用解析法计算多边形面积。
7) 在C4单元格中输入数组公式:=C3*0.0015,将平方米转换为亩。
8) 在C5单元格中输入数组公式:C3/10000,将平方米转换为公顷。
9) 锁定工作表中坐标输入区之外的全部单元格,然后保护该工作表。
4 设计验证
在坐标区域中,依次(顺时针或反时针)输入某个多边形顶点的坐标值,周长和面积自动生成,如下图所示:
通过大量的多边形坐标数据的反复测试验证,计算结果完全正确。
5 适用对象
本设计适用于已知各顶点坐标、无交叉、无重叠的所有多边形周长和面积计算。
6 设计结论
本设计通过解析法与Excel的巧妙结合,特别是对Excel数组公式的应用,是本设计的核心,它将大量的、循环的中间数据处理过程高度浓缩、简化,实现了多边形周长和面积的自动化处理,极大地提高了工作效率。