为什么“polyshape”功能删除顶点在输入时没有重复的点或十字路口吗?

74(30天)
为什么“polyshape”功能删除顶点在输入时没有重复的点或十字路口吗?
我收到以下警告消息当我使用“polyshape”功能:
警告:Polyshape已经重复的顶点、十字路口、其他可能会产生不准确的或意外的不一致
结果。输入数据创建一个定义良好的polyshape已经修改。
> polyshape / checkAndSimplify(第339行)
为什么函数删除顶点总数的一半在输入时没有重复的点或十字路口吗?
我已经检查了分,利用填充函数。没有重复的点或十字路口。如果你运行附加的脚本(questionScript.m)和放大,可以看到每个2点非常接近对方,“polyshape”功能删除每一对点之一。
它的功能是将关闭点视为重复点?如果是这样的话,有办法设置绝对阈值距离函数可以把近点重复吗?

接受的答案

MathWorks支万博1manbetx持团队
请证实如果“polyshape”函数中使用默认方法。
如果是使用默认的方式,它试图检测和修复十字路口,去除共线点,去除重叠点,等等。
MATLAB R2018b发布后,有一个新的polyshape名称/值对(),“KeepCollinearPoints”= true / false,保持共线点的目的。在默认情况下“KeepCollinearPoints”设置为false。
如果你想保持在同一直线上的点,那么你可以设置“KeepCollinearPoints”为真。
MATLAB R2018a,的原因“polyshape”功能删除顶点总数的一半在输入时没有重复的点或十字路口很可能作为输入顶点包含共线点。
关于另一个查询,如果有一种方法可以设置一个绝对阈值距离的函数可以把近点复制,目前,还没有这样的阈值。
然而,作为一个解决方案,你可以叫“polyshape”功能的名称/值对,如下:
> > p2 = polyshape(点(路径,1),点(路径,2),“简化”,假);
这将把所有输入点没有简化,如下:
p2 =
polyshape属性:
顶点(142×2双):
NumRegions: 1
NumHoles: 0
您可以使用“简化”功能,“p3 =简化(p2)”,以后如果你需要简化输入数据。请注意,“p3”将在脚本中一样的多边形。

更多的答案(0)

类别

找到更多的在基本的多边形帮助中心文件交换

标签

s manbetx 845


释放

R2017b

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!