当前位置: 首页 > 知识库问答 >
问题:

如何找到多个矩形的质心?

单于承
2023-03-14

我必须找到多个矩形(最小有界矩形)的确切质心。让我有,3个矩形及其坐标,用于最大和最小点

第一个矩形的最小点(x1,y1),最大点(x2,y2)

第二个矩形的最小点(x3,y3),最大点(x4,y4)

第三个矩形的最小点(x5, y5),最大点(x6, y6)

我想到的快速解决方案是,通过考虑这6个点的组合,我将找到可能的质心列表,然后取这些质心的最小有界矩形。它会给我一个矩形R,这个矩形的质心是我的真实质心。

但我很困惑,它会给我真正的质心吗?还有其他方法可以找到质心吗?

共有1个答案

贺兴平
2023-03-14

我同意Spektre对问题陈述的困惑。但是,如果您只想由矩形定义的点集的质心,请按照以下步骤操作:

如果Ai是矩形i,而Ci是矩形i的质心,那么所有矩形的质心加在一起就是:

Sum(i = 1..n; Ai Ci)/Sum(i = 1..n; Ai)

每个矩形的面积和质心很容易从基本几何计算。

您可以将每个矩形视为具有其所有质量(如果我们假设单位密度,则与面积相同)。然后我们只需要这些点的质量加权平均值。

 类似资料:
  • 我有一个点[xmin,ymin,xmax,ymax]的列表,每个点都按黑点显示 请注意,有许多这样的矩形,如图像所示。红色的应检测删除,绿色的应保留。 输入是 n 矩形 输出是覆盖区域和它覆盖的矩形 id 。最好给出一些算法和解释。

  • 给定一个矩形R1和一组矩形R2、R3、…。如何找到与主矩形R1相连的所有矩形。 我不仅需要直接连接到R1的矩形,还需要所有间接连接到R1的矩形。例如,如果 R2 连接到 R1,R3 连接到 R2。R3 被视为连接到 R1。 矩形的形式为(xmin,ymin,xmax,ymax)。所有矩形都与轴平行。当矩形重叠或接触时,它们被认为是连接的。当它们仅接触角落时,它们不被视为连接。 示例: 在该示例中,

  • 我按照ItextSharp的示例获取图形结构,并使用以下代码获取矩形坐标: 我尝试了renderInfo.getfillColor();但是没有这样的方法。 我想获得额外的矩形属性: 像矩形填充颜色,(一些类似于html中的DIV style=“background:blue;border:black;”标签)我如何获得它?

  • 问题内容: 测试2个矩形是否相交的快速方法是什么? 在Internet上进行了搜索,找到了这种单行代码(WOOT!),但我不知道如何用Javascript编写它,它似乎是用C ++的古老形式编写的。 问题答案: 这就是将代码转换为JavaScript的方式。请注意,正如注释所建议的那样,您的代码和本文的代码中都有一个错字。该功能应该并且应该具体起作用。 测试用例:

  • 我正在使用Java Swing库。我有两个宽度和高度相同的矩形,坐标相同。我想把它们组合成一个,这样我就能得到一个十字架。我怎样才能做到这一点?

  • 我是libGDX的新手,据我所知,Intersector类有矩形/矩形、圆/圆、圆/矩形和多边形/多边形的重叠方法,但由于某种原因,它似乎没有任何检查多边形/矩形或多边形/圆的方法。 有没有推荐的方法来检查多边形和矩形/圆之间的冲突? 另外,为什么这被排除在跨部门类之外,有什么原因吗?(即,我应该避免它吗?如果是这样,推荐的替代方案是什么?