将多边形转换为坐标数组集



我希望使用Matlabgeom2d库中的distancepointpolygon函数来找到点和polyshape之间的最短距离。distancepointpolygon函数用于多边形,因此如何将任何polyshape转换为包含顶点坐标的N-by-2数组?我是手动完成的,我正在寻找一个通用的解决方案。

polySquare = polyshape([0 5 5 0], [10 10 15 15]);
plot(polySquare)
square = [0 10; 5 10; 5 15; 0 15];
p0 = [5 10];
distancePointPolygon(p0, square)  

polySquare.Vertices应该是您需要的矩阵:

>> polySquare = polyshape([0 5 5 0],[10 10 15 15]);
>> polySquare.Vertices
ans =
0    10
0    15
5    15
5    10

这样你就可以做到:

polySquare = polyshape([0 5 5 0], [10 10 15 15]);
plot(polySquare)
square = polySquare.Vertices;
p0 = [5 10];
distancePointPolygon(p0, square)

请参阅文档。

相关内容

  • 没有找到相关文章

最新更新