# 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