如下图中的公式 4-15:已知三角形顶点坐标 Xi, Yi,可以求解其面积。同样道理,将行列式中的 Xi 与 Yi 替换为 X 与 Y 即可求得红色阴影三角形面积。注意:为了避免行列式中的面积出现负值,三角形顶点编码应按逆时针方向编排。
上述做法可以推广到四边形、五边形、六边形等凸多边形的面积计算:假设 M 边形内部的任意一点 J(X, Y),多边形的面积等于 M 个行列式 N.ji, i = 1 to M 之和的一半。另外,按照上面的逆时针编排规则。如果行列式中有某个 N.ji 出现负值,表明点 J 在多边形外;若出现 N.ji = 0 则表明点 J 在多边形的边上。
源代码中包含四个过程及函数:1)面积计算主过程;2)三角形面积计算函数 Area3;3)凸多边形面积计算函数 AreaPoly;4)创建选择集的过程。
Option Explicit
-------------------------------------------------------------------------------------------------------------
Public Sub MainSub()
Dim SeleObjts As AcadSelectionSet
Call CreateSelectionSet(SeleObjts, "SeleObjts")
SeleOb