【问题标题】:How to check if thre is a line of mirror symmetry in a polygon?如何检查多边形中是否存在镜像对称线?
【发布时间】:2022-01-17 22:38:23
【问题描述】:

是否有一种算法可以检测多边形是否具有镜像对称线,例如,对于下图中的多边形:

【问题讨论】:

    标签: math geometry polygon


    【解决方案1】:

    为多边形的顶点集计算image moments

    例如 - 将所有 x[i]y[i] 求和,然后除以顶点数以获得质心坐标 (cx=m10/m00 and cy=m01/m00)。

    对中心时刻做类似的事情。例如:

    mu11 = sum((x[i]-cx)*(y[i]-cy))
    

    Theta(在示例部分中)通过质心的角度构建线。

    如果多边形具有镜像对称性,每个顶点都会有另一个顶点作为镜像 - 找到任何一对就足够了,然后依次检查另一对)

    供参考 - how to get mirror point against line

    L = A + AB * ScalarProduct(AB, AP) / ScalarProduct(AB, AB)
    Mirror point
    P' = P + 2*(L-P) = 2*L-P
    

    【讨论】:

    • 该链接是一个样板,其中包含许多用于图像处理的复杂公式,我不知道如何将其应用于多边形。
    • 我添加了示例
    猜你喜欢
    • 2011-08-18
    • 2021-07-13
    • 2011-06-17
    • 1970-01-01
    • 1970-01-01
    • 2021-02-21
    • 2016-01-17
    • 2016-03-26
    • 2022-10-07
    相关资源
    最近更新 更多