Labfans是一个针对大学生、工程师和科研工作者的技术社区。 | 论坛首页 | 联系我们(Contact Us) |
![]() |
|
![]() |
#1 |
高级会员
注册日期: 2019-11-21
帖子: 3,006
声望力: 66 ![]() |
![]()
通常使用在向量(2 * 1或1 * 2矩阵)中将其顶点按CW或CCW排序的多边形。但是,如何在向量中声明带孔的多边形?
我将在这些多边形上应用各种处理,因此我想要一种可以轻松或高效地工作的表示方式(即,如何在程序中声明这种多边形以简化算法?) 多边形是2D的,我正在用MATLAB编程。 编辑1:我要计算这些多边形(有孔或无孔)的可见度图 。 回答: 正如其他人提到的那样,带孔的多边形可以表示为外部边界,再加上零个或多个内部边界,所有这些边界相互不重叠*。如果使用非零绕组数确定内部/外部,请确保在与外部边界相反的方向上指定内部边界(外部为逆时针,内部为顺时针,反之亦然),以使轮廓积分在内部为零孔。 仅供参考,这种定义/表示形式已经在OpenGIS简单功能规范( PDF )中进行了形式化。 就表示形式而言: 我可能会有一个K Nx2矩阵的单元格数组,其中单元格数组中的第一个元素是外部边界,而单元格数组中的其余元素(如果有)是内部边界。我将使用单元格数组,因为每个边界上的点数可能不同。 *非重叠=除非个别点,例如正方形内的菱形: ![]() ![]() 更多&回答... |
![]() |
![]() |