addboundary
添加 polyshape
边界
语法
说明
polyout = addboundary(
添加 M 个边界,由每个边界的 x 坐标组成的向量全部列在一个元胞数组中。由对应的 y 坐标组成的向量也全部列在一个元胞数组中。每个 xi 的长度必须与对应的 yi 相同,但边界之间的顶点数可以不同。polyin
,{x1,x2,...,xM}
,{y1,y2,...,yM}
)
polyout = addboundary(___,
为上述任意语法指定向 Name,Value
)polyshape
添加边界的其他参数。
示例
添加多边形边界
创建一个矩形,然后再创建一个由该矩形和一个三角形组成的多边形。
polyin = polyshape([0 0 1 1],[0 0.5 0.5 0])
polyin = polyshape with properties: Vertices: [4x2 double] NumRegions: 1 NumHoles: 0
plot(polyin)
polyout = addboundary(polyin,[2 3 2.5],[2 2 3])
polyout = polyshape with properties: Vertices: [8x2 double] NumRegions: 2 NumHoles: 0
plot(polyout)
输入参数
polyin
— 输入 polyshape
标量
输入 polyshape
,指定为标量。
数据类型: polyshape
x
— x 坐标
向量
边界顶点的 x 坐标,指定为向量。您可以通过在每个边界之间放置一个 NaN
来同时表示多个边界的坐标。例如,polyout = addboundary(polyin,[0 0 1 NaN 1 5 5],[1 0 0 NaN 5 5 1])
返回由 polyin
和另外两个三角形组成的 polyshape
对象。
非 double
类型的数值输入顶点将自动转换为 double
类型。
数据类型: double
| single
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
y
— y 坐标
向量
边界顶点的 y 坐标,指定为向量。您可以通过在每个边界之间放置一个 NaN
来同时表示多个边界的坐标。例如,polyout = addboundary(polyin,[0 0 1 NaN 1 5 5],[1 0 0 NaN 5 5 1])
返回由 polyin
和另外两个三角形组成的 polyshape
对象。
非 double
类型的数值输入顶点将自动转换为 double
类型。
数据类型: double
| single
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
P
— 边界顶点
两列矩阵
边界顶点,指定为两列矩阵。P
的第一列包含顶点的 x 坐标,第二列包含顶点的 y 坐标。P
必须至少有 3 行。
您可以通过在每个边界之间放置一个 NaN
来同时表示多个边界的坐标。例如,polyout = addboundary(polyin,[1 0; 0 0; 0 1; NaN NaN; 1 5; 5 5; 5 1])
返回由 polyin
和另外两个三角形组成的 polyshape
对象。
非 double
类型的数值输入顶点将自动转换为 double
类型。
数据类型: double
| single
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
{x1,x2,...,xM}
— x 坐标
向量元胞数组
M 个边界的 x 坐标,指定为向量元胞数组。每个 xi 的长度可以不同,但必须与对应的 yi 向量的长度匹配。
非 double
类型的数值输入顶点将自动转换为 double
类型。
数据类型: cell
{y1,y2,...,yM}
— y 坐标
向量元胞数组
M 个边界的 y 坐标,指定为向量元胞数组。每个 yi 的长度可以不同,但必须与对应的 xi 向量的长度匹配。
非 double
类型的数值输入顶点将自动转换为 double
类型。
数据类型: double
| single
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
名称-值参数
示例: polyout = addboundary(polyin,x,y,'SolidBoundaryOrientation','ccw')
将可选的参数对组指定为 Name1=Value1,...,NameN=ValueN
,其中 Name
是参数名称,Value
是对应的值。名称-值参数必须出现在其他参数之后,但参数对组的顺序无关紧要。
在 R2021a 之前,使用逗号分隔每个名称和值,并用引号将 Name
引起来。
SolidBoundaryOrientation
— 边界的方向
'auto'
(默认) | 'cw'
| 'ccw'
边界的方向,指定为以逗号分隔的对组,该对组由 'SolidBoundaryOrientation'
和下列值之一组成:
'auto'
- 自动选择顺时针或逆时针顶点方向作为实心边界。'cw'
- 将顺时针顶点方向视为实心边界。'ccw'
- 将逆时针顶点方向视为实心边界。
顶点方向对于大多数应用情形来说并不重要,它主要作为一种确定边界嵌套的算法工具。如果多边形数据是由其他软件按照某种特殊约定生成的,则通常会指定此参数以实现一致性和高效性目的。
Simplify
— 顶点更改
true
(默认) | false
顶点更改,指定为以逗号分隔的对组,该对组由 'Simplify'
和下列值之一组成:
true
- 当输入顶点产生交集或不正确嵌套时,更改多边形顶点以生成明确定义的多边形。false
- 即使有交集或不正确嵌套,也不更改输入顶点。使用未明确定义的多边形进行计算可能会产生不准确或意想不到的结果。
数据类型: logical
KeepCollinearPoints
— 共线顶点
false
| true
共线顶点,指定为以逗号分隔的对组,该对组由 'KeepCollinearPoints'
和下列值之一组成:
false
- 删除共线点,使输出polyshape
包含定义边界所需的最少顶点。true
- 保留所有共线点作为顶点。
如果未指定 'KeepCollinearPoints'
,则其值将自动设置为在创建输入 polyshape
时使用的值。
数据类型: logical
扩展功能
C/C++ 代码生成
使用 MATLAB® Coder™ 生成 C 代码和 C++ 代码。
用法说明和限制:
必须启用动态内存分配才能进行代码生成。
名称-值对组必须为编译时常量。
版本历史记录
在 R2017b 中推出
另请参阅
MATLAB 命令
您点击的链接对应于以下 MATLAB 命令:
请在 MATLAB 命令行窗口中直接输入以执行命令。Web 浏览器不支持 MATLAB 命令。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)