# centroid


polyshape 的矩心

函数库: TyMath

# 语法

x,y = centroid(polyin)
x,y = centroid(polyin,I)

# 说明

x,y = centroid(polyin) 返回 polyshape 的矩心的 x 坐标和 y 坐标。示例

x,y = centroid(polyin,I) 返回 polyin 的第 I 个边界的矩心坐标。 仅当 polyin 是标量 polyshape 对象时,才支持此语法。

# 示例

多边形的矩心

计算包含多个区域的多边形的矩心。

创建包含两个实心区域的多边形,然后计算多边形的矩心。

using TyMath
using TyPlot
x1 = [0,1,2];
y1 = [0,1,0];
x2 = [2,3,4];
y2 = [1,2,1];
polyin = polyshape((x1,x2),(y1,y2));
x,y = centroid(polyin);
plot(polyin)
hold("on")
plot(x,y,"r*")
hold("off")

要分别计算每个区域的矩心,请在第二个参量中指定每个区域的边界索引。

figure()
x1,y1 = centroid(polyin,1);
x2,y2 = centroid(polyin,2);
plot(polyin)
hold("on")
plot(x1,y1,"r*",x2,y2,"r*")
hold("off")

# 输入参数

polyin — 输入 polyshape
标量 | 向量 | 矩阵 | 多维数组

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

数据类型: polyshape

I — 边界索引
整数标量

边界索引,指定为整数标量或由整数组成的向量。I 对应于输入 polyshape 的边界。

数据类型: Int64 | Int32 | Int16 | Int128 | UInt8 | UInt16 | UInt32 | UInt64

# 输出参数

x — x 坐标
标量 | 向量 | 矩阵 | 多维数组

polyshape 的矩心的 x 坐标,以标量、向量、矩阵或多维数组形式返回。如果输入是由 polyshape 对象组成的数组,则 x 包含每个 polyshape 的矩心的 x 坐标。

数据类型: Float16 | Float32 | Float64

y — y 坐标
二元素行向量

polyshape 的矩心的 y 坐标,以标量、向量、矩阵或多维数组形式返回。如果输入是由 polyshape 对象组成的数组,则 y 包含每个 polyshape 的矩心的 y 坐标。

数据类型: Float16 | Float32 | Float64

# 另请参阅

area | polyshape| perimeter