【问题标题】:Logical question: Given corners, find Center of Quadrilateral?逻辑问题:给定角,找到四边形的中心?
【发布时间】:2011-05-27 07:30:25
【问题描述】:

给定一个四边形所有角的坐标,如何找到它的中心坐标?

谢谢。

【问题讨论】:

  • 看三角形,有different definitions“中心”的意思。我怀疑对于四边形,“中心”的含义同样模棱两可。那么“中心”的定义是什么?
  • 中心是指“与角落等距的点”。
  • @Azoduis,大多数四边形都没有这样的点。可以这样想:一个圆由三个点定义。圆心与这些点等距。通过将不在圆圈中的任何点添加到您的三个点来制作四边形。您有一个四边形,其中一个点与“中心”的距离与其他点的距离不同...
  • @juanchopanza:但是矩形和正方形有这样的中心。它们也是四边形的。
  • @Azodious 是的,但它们是一个特殊的四边形家族(我的第一个配方也适用)。

标签: c# java c++ logic


【解决方案1】:

我想你说的是质心或质心。在四边形中,获取坐标的一般方法有两种:

  1. 两条双中线的交点(双中线是连接两个相对边中心点的线)。

  2. 四边形两条对角线中点连线的中点。

希望这会有所帮助。

【讨论】:

    【解决方案2】:

    原点 = x=0,y=0

    a(0,0) b(10,0)

    c(0,5) d(10,5)

    a+(b-a/2)=5
    a+(c-a/2)=2.5
    

    中心坐标 = 5,2.5

    dx-ax/2=5 dy-ay/2=2.5

    使用这些公式,如果边不均匀,中心总是可以计算出来的。

    问候 雷

    【讨论】:

    • 我知道这是一个老问题,但这仅在您使用矩形(或正方形)时才正确,因为它没有考虑所有 4 个角。例如,在飞镖或风筝中,点 d 与点 c 和 b 的距离与 a 的距离不同。这个网站解释了为什么它不是一个简单的答案:jwilson.coe.uga.edu/emt668/EMT668.Folders.F97/Patterson/…
    【解决方案3】:

    如果您的形状由分段连续曲线定义,您可以使用 contour integral for the center of mass 的高斯求积进行数值积分。这是二维平面形状最通用的算法。它甚至适用于内部有孔的形状。

    你使用Green's Theorem得到轮廓积分。

    【讨论】:

      【解决方案4】:

      你也可以把四边形分成两个三角形,取它们的中心,找到它们之间的中心。

      并没有真正改变任何东西,但它可能更容易考虑(ps。我并不是说这会产生特别好的解决方案)。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2014-04-15
        • 1970-01-01
        • 1970-01-01
        • 2022-07-28
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多