Main Content

simplify

简化 polyshape 边界

说明

示例

polyout = simplify(polyin) 返回一个 polyshape 对象,此对象由删除所有重复顶点之后的多边形 polyin 的边界组成,而且所有边界交集和不正确嵌套问题均已解决。

polyout = simplify(polyin,'KeepCollinearPoints',TF) 指定是保留还是删除 polyout 中的共线点。

示例

全部折叠

创建并绘制包含边界交集的多边形。

P = [0 0; 1 1; 1 0; 0.5 0.5; 0 1; 0 0];
polyin = polyshape(P,'Simplify',false)
polyin = 
  polyshape with properties:

      Vertices: [5x2 double]
    NumRegions: 1
      NumHoles: 0

plot(polyin)

使用 simplify 函数删除交集,生成一个明确定义的多边形。简化多边形会保持边界的形状,但会将多边形分成两个不同的区域。

polyout = simplify(polyin)
polyout = 
  polyshape with properties:

      Vertices: [7x2 double]
    NumRegions: 2
      NumHoles: 0

输入参数

全部折叠

输入 polyshape,指定为标量、向量、矩阵或多维数组。

数据类型: polyshape

共线顶点指示符,指定为 falsetrue

  • false - 删除共线点,使输出 polyshape 包含定义边界所需的最少顶点。

  • true - 保留所有共线点作为顶点。

如果未指定 'KeepCollinearPoints' 参数,则其值将自动设置为在创建输入 polyshape 时使用的值。

数据类型: logical

扩展功能

基于线程的环境
使用 MATLAB® backgroundPool 在后台运行代码或使用 Parallel Computing Toolbox™ ThreadPool 加快代码运行速度。

版本历史记录

在 R2017b 中推出

另请参阅

|