Home > SYS_Math > getCentroid
SYS_Math.getCentroid() method
计算多边形质心
签名
typescript
function getCentroid(polygon: TSYS_MathPolygonInput): ISYS_MathPoint;1
参数名
参数 | 类型 | 描述 |
|---|---|---|
polygon | 多边形 |
返回值
质心坐标
示例
javascript
// 1. 规则矩形:质心就是几何中心 (50, 40)
const rect = [{ x: 0, y: 0 }, { x: 100, y: 0 }, { x: 100, y: 80 }, { x: 0, y: 80 }];
console.log('矩形质心:', JSON.stringify(eda.sys_Math.getCentroid(rect)));
// 2. L 形轮廓:质心向材料厚的一侧偏移,不再等于外接矩形中心 (50, 40)
const lShape = [
{ x: 0, y: 0 },
{ x: 100, y: 0 },
{ x: 100, y: 40 },
{ x: 40, y: 40 },
{ x: 40, y: 80 },
{ x: 0, y: 80 },
];
const centroid = eda.sys_Math.getCentroid(lShape);
console.log('L 形质心:', JSON.stringify(centroid));
// 3. 以质心为中心做旋转,图形绕自身几何中心原地转动
const rotated = eda.sys_Math.rotate(rect, 90);
console.log('绕质心旋转 90 度后的第一个点:', JSON.stringify(rotated[0]));1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19