如下图中的公式 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")
SeleObjts.SelectOnScreen
Dim Objt As Object
Dim Area As Double
Dim Pc(2) As Double
For Each Objt In SeleObjts
If TypeOf Objt Is AcadLWPolyline Then

最低0.47元/天 解锁文章
2007

被折叠的 条评论
为什么被折叠?



