gpt4 book ai didi

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

转载 作者:IT老高 更新时间:2023-10-28 21:09:16 24 4
gpt4 key购买 nike

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

enter image description here

如何使用 JTS (Java) 找到所有超过给定角度的曲线方向变化点或 NTS (C#) :

enter image description here

最佳答案

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

  • 创建多边形并使用函数union
  • 然后遍历坐标,并在每个“硬角”(负标量积)上创建一个子数组,当角度和达到180时(不要取最后一个角度以避免非功能问题)
  • 然后我用 x(firstElemOfSubArray, lastElemOfSubArray) 通过计算 rebase 矩阵将基改成正交基,然后在新坐标系中重新计算子数组
  • 然后我使用 org.apache.commons.math3.analysis.interpolation.SplineInterpolator 创建一个函数来插值类(class)的函数,然后我得到导数并搜索极值(不要' t 取纵坐标太低的元素)。通过它的absysse,您可以找到哪个点是拐点
  • 所以你搜索的点是每个子数组的第一个元素,以及它的拐点(如果有的话)

关于java - 如何使用 JTS 或 NTS 找到曲线角点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50613704/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com