You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过JavaScript计算不规则图形的中心坐标?

不规则图形中心坐标的计算方案

1. 实心多边形的形心(几何重心)

如果你的坐标点是按顺序排列的多边形顶点(无交叉,首尾可闭合也可不闭合,计算时自动衔接),用多边形形心公式能得到精准的几何中心:

计算步骤:

  1. 先求多边形面积 $A$:

    A = 0.5 * |Σ(x_i * y_{i+1} - x_{i+1} * y_i)|
    

    注:求和范围是所有顶点,$x_{n+1}=x_1$,$y_{n+1}=y_1$(n为顶点总数)

  2. 再计算形心坐标 $(C_x, C_y)$:

    C_x = (1/(6*A)) * Σ(x_i + x_{i+1}) * (x_i * y_{i+1} - x_{i+1} * y_i)
    C_y = (1/(6*A)) * Σ(y_i + y_{i+1}) * (x_i * y_{i+1} - x_{i+1} * y_i)
    

    同样使用首尾衔接的顶点序列计算。

2. 离散点集的平均中心

如果你的坐标数组是图形上的所有离散点(比如点云、扫描采样点),直接计算所有点坐标的算术平均值即可:

C_x = (x₁ + x₂ + ... + xₙ) / n
C_y = (y₁ + y₂ + ... + yₙ) / n

这种方法实现简单,结果反映点集的整体中心趋势,但对于空心或点分布不均的图形,视觉上的中心可能和计算值有偏差。

关键说明

  • 两种方法都直接基于输入的坐标系坐标计算,完全不涉及像素转换,符合你的需求。
  • 多边形顶点必须按顺时针或逆时针连续排列,否则面积和形心计算会出错。
  • 若图形带孔洞,需用加权形心公式:用外层多边形的形心减去各孔洞的形心(按面积权重计算)。

内容的提问来源于stack exchange,提问作者Achat333

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.17 15:20:32