如何找到凹凸不平的凹凸点和凹陷的重心?

时间:2014-04-27 15:22:56

标签: matlab math geometry

我正在尝试使用matlab找到不规则区域和相应的凹度和凹陷中心的位置。 这里我有区域边界的坐标和区域凸包边界的坐标。 这个比特是该区域凸壳的线段之一。 如果我缩小凸包,它不会与区域的内部坐标重叠,从而难以识别其他参数。

我也试过去除区域的边界点并创建剩余点的凸包。但船体的形状发生了变化,无法保证正确的结果。

请帮我解决这个问题。

1 个答案:

答案 0 :(得分:0)

  1. 曲率中心

    center of curvature

    我很确定我在这里发布了一个关于此问题的答案,但现在无法找到它:(所以这里又是这样。从网格的两个相邻线条中取出法线并从中点投射法线。它们相交的地方是中心如果它在网格的内部或外部告诉你有关凸性或使用缠绕规则......

    如果这不是你想要的凹陷的中心,那么添加更多关于它的信息......

  2. <强> TBN

    normal是蓝线(半径),它位于从曲率中心到线连接点使用方向的线上。

    bitangent与一行normal

    垂直
    bitangent = normal x (line.p1-line.p0)
    

    tangentnormalbinormal

    垂直
    tangent = bitangent x normal
    

    最好使 TBN 向量单位。使用您需要的方向来反转它只需将向量乘以或-1标量乘以向量的操作数交换。