代码之家  ›  专栏  ›  技术社区  ›  DuckQueen

如何使用JTS或NTS找到曲线角点?

  •  29
  • DuckQueen  · 技术社区  · 8 年前

    我有一条曲线(比如JTS边):

    enter image description here

    如何使用 JTS (Java) NTS (C#) :

    enter image description here

    1 回复  |  直到 8 年前
        1
  •  1
  •   Arnault Le Prévost-Corvellec    8 年前

    我对JTS做了一些研究和测试,我发现最好的方法是:

    • 创建多边形并使用函数 union
    • 然后我用 x(firstElemOfSubArray, lastElemOfSubArray) 通过计算基变换矩阵,然后在新的坐标系中重新计算子数组
    • org.apache.commons.math3.analysis.interpolation.SplineInterpolator 对函数进行插值,然后得到导数并搜索极值(不要取坐标太低的元素)。用它的ABSSESE,你可以发现哪个点是拐点。
    • 因此,您搜索的点是每个子数组的第一个元素,以及它的拐点(如果有)