繁体   English   中英

如何找到多个矩形的质心 - Python

[英]How to find the centroid of multiple rectangles - Python

我必须找到多个矩形的确切质心。 每个矩形的坐标如下:

coord = (0.294792, 0.474537, 0.0989583, 0.347222)  ## (xcenter, ycenter, width, height)

我有大约 200 个矩形,如何计算它们的质心?

我已经尝试过实现它,但是代码效果不佳。

我的代码:

for i in range(len(xCenter)):
       center = np.array((xCenter[i]+(Width[i]/2), yCenter[i]+(Height[i]/2)))

这是一个有点模糊的问题,但是如果您指的是所有矩形的质心按面积计算,那么矩形的每个中心都会按矩形的面积加权。 把它想象成矩形的所有质量被压缩到中心,然后必须取几个加权点的质心。 其公式将是 Area(Rec(i)) * vec(center(i)) 的 1 到 n(假设矩形编号为 1 到 n)的总和除以系统的总质量(总和所有区域)。 如果您指的是一般区域的质心,忽略矩形重叠,那就有点棘手了。 您可以做的一件事是针对每个矩形,将其与所有其他矩形进行检查,如果一对矩形重叠,则将它们分成一组不重叠的矩形并将它们放回矩形集中。 一旦所有矩形都不重叠,按质量找到质心。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM