Labfans是一个针对大学生、工程师和科研工作者的技术社区。 论坛首页 | 联系我们(Contact Us)
MATLAB爱好者论坛-LabFans.com
返回   MATLAB爱好者论坛-LabFans.com > 其它 > 资料存档
资料存档 资料存档
回复
 
主题工具 显示模式
旧 2019-12-10, 16:49   #1
poster
高级会员
 
注册日期: 2019-11-21
帖子: 3,006
声望力: 66
poster 正向着好的方向发展
帖子 如何用孔表示多边形?

通常使用在向量(2 * 1或1 * 2矩阵)中将其顶点按CW或CCW排序的多边形。但是,如何在向量中声明带孔的多边形?

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

多边形是2D的,我正在用MATLAB编程。

编辑1:我要计算这些多边形(有孔或无孔)的可见度图


回答:
正如其他人提到的那样,带孔的多边形可以表示为外部边界,再加上零个或多个内部边界,所有这些边界相互不重叠*。如果使用非零绕组数确定内部/外部,请确保在与外部边界相反的方向上指定内部边界(外部为逆时针,内部为顺时针,反之亦然),以使轮廓积分在内部为零孔。

仅供参考,这种定义/表示形式已经在OpenGIS简单功能规范( PDF )中进行了形式化。

就表示形式而言:

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

*非重叠=除非个别点,例如正方形内的菱形:





更多&回答...
poster 当前离线   回复时引用此帖
回复


发帖规则
不可以发表新主题
不可以发表回复
不可以上传附件
不可以编辑自己的帖子

启用 BB 代码
论坛禁用 表情符号
论坛启用 [IMG] 代码
论坛启用 HTML 代码



所有时间均为北京时间。现在的时间是 05:07


Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.