gpt4 book ai didi

matlab - 如何用孔表示多边形?

转载 作者:太空宇宙 更新时间:2023-11-03 19:27:34 27 4
gpt4 key购买 nike

使用顶点在向量(2*1 或 1*2 矩阵)中顺时针或逆时针排序的多边形通常很流行。但是,如何表示向量中有孔的多边形?

我将在这些多边形上应用各种过程,所以我想要一种表示方式,我可以使用它轻松或高效地工作。(即如何在我的程序中声明这种多边形以简化我的算法? )

多边形是二维的,我在 MATLAB 中编程。

编辑 1:我要计算 visibility graph这些多边形(带孔或不带孔)。

最佳答案

正如其他人所提到的,带孔的多边形可以表示为外部边界,加上零个或多个内部边界,所有这些边界都相互不重叠*。如果您使用非零 winding number要确定内部/外部,请务必将内部边界指定为与外部边界相反的方向(外部为逆时针,内部为顺时针,反之亦然),以便孔内的轮廓积分为零。

仅供引用,这种定义/表示形式已在 OpenGIS 简单要素规范 (PDF) 中正式化。

就表示而言:

我可能有一个由 K Nx2 矩阵组成的元胞数组,其中元胞数组中的第一个元素是外部边界,而元胞数组中的其余元素(如果有的话)是内部边界。我会使用元胞数组,因为每个边界上的点数可能不同。

*nonoverlapping = 个别点除外,例如方形内的钻石:

alt text alt text

关于matlab - 如何用孔表示多边形?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1046542/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com